Хранение пар ключ-значение с или без хэша в redis - PullRequest
1 голос
/ 24 января 2012

Я храню пары ключ-значение в базе данных Redis через клиент Redis-py .Все ключи уникальны, дубликатов нет.Вот пример:

key = 133735570
value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0],[144779115,1.0],[94628304,1.0],[134973120,1.0],[138501363,1.0],[34351681,1.0],[80202522,1.0],[81561595,1.0],[18913677,1.0],[130488590,1.0],[128208311,1.0],[93912155,0.5]]}

Может ли добавление хеша (такого же, как имя ключа) улучшить производительность?Например,

key = 133735570
hash = 133735570
value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0],[144779115,1.0],[94628304,1.0],[134973120,1.0],[138501363,1.0],[34351681,1.0],[80202522,1.0],[81561595,1.0],[18913677,1.0],[130488590,1.0],[128208311,1.0],[93912155,0.5]]}

Мое требование - искать ключи, чтобы извлечь из них соответствующие значения.

1 Ответ

1 голос
/ 24 января 2012

Вы можете попытаться сохранить ваши пары ключ-значение (часть значения в вашем примере) в хэш структуре данных (где ключевая часть вашей пары будет храниться как поле хеш-функции, а часть значения - как значение хеш-функции;посмотрите HMSET ), который более гибок для манипулирования данными и может потреблять меньше памяти , чем строки простого значения.

...