Redis - лучший способ кеширования данных - PullRequest
0 голосов
/ 23 мая 2019

У меня есть 3 типа значений.

Type1 - In millions
Type2 - In hundreds
Type3 - In tens

Для каждого типа 1 все типы 2 должны обрабатываться типом 3.

Я могу использовать set.

Type1#Type3 = {Type2 values}

Или

Type1#Type2 = {Type3 values}

Если я сохраню Type3 в качестве ключа, больше памяти будет занято набором.

Или есть ли лучший способ сохранить данные этого типа?

Я оценил хеш, который занимает больше памяти, чем установлено.Я оценил сжатие ziplist для хэша.

Есть предложения?

1 Ответ

0 голосов
/ 23 мая 2019

Если вы можете терпеть расщепление, вот другой способ:

Первая HashMap с ключом в качестве значения type1 и значением в виде : списка значений type2, связанных с этим значением типа 1

type1_a => type2_b:type2_c..

type1_b => type2_k:type2_d..

Вторая HashMap с ключом в качестве значения type2 и значением в качестве соответствующего значения type3

type2_a => type3a

type3_b => type3b

for type2_key in firstHashMap.get(type1_key).split(':') secondHasMap.get(type2_key)

Кроме того, вы можете заглянуть в скрипт Lua, чтобы избежать выполнения вышеперечисленных действий на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...