Я храню пары ключ-значение в базе данных Redis через клиента Redis-py. Все ключи уникальны, дубликатов нет. Вот пример:Хранение пар ключ-значение с хешем или без него в redis
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]]}
Мое требование - искать ключи, чтобы извлекать из него соответствующие значения.
Итак, я должен сделать redisObject.hmset (ключ, значение) вместо текущего redisObject.hset (ключ, ключ, значение)? Примечание: есть * NO * дубликаты ключей. Будет ли он по-прежнему помогать эффективной памяти? – Dexter
О, так вы уже используете хеши? HMSET позволяет вам установить несколько полей/значений в одной операции для хэша. Согласно статье, она должна быть эффективной с точки зрения памяти, но есть только один способ убедиться, поэтому вам придется попробовать ее. – yojimbo87