Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Escrevendo uma consulta para adicionar vários valores a uma chave no REDIS Hashes?


O que você poderia fazer, e eu vi isso em outros lugares além do meu código, é digitar o hash usando um sufixo. Você provavelmente tem um sufixo que identifica cada registro, vou usar as cores aqui:

NA HORA DE INSERIR:
HMSET Records:red Prod_Color "Red" Prod_Count 12 Prod_Price 300 Prod_Info "In Stock"
HMSET Records:blue Prod_Color "Blue" Prod_Count 8 Prod_Price 310 Prod_Info "In Stock"

/* For each HMSET above, you issue SADD */
SADD Records:Ids red
SADD Records:Ids blue

NA HORA DA PERGUNTA:
/* If you want to get all products, you first get all members */
SMEMBERS Records:Ids

/* ... and then for each member, suppose its suffix is ID_OF_MEMBER */
HGETALL Records:ID_OF_MEMBER

/* ... and then for red and blue (example) */
HGETALL Records:red
HGETALL Records:blue

Você provavelmente quer usar a primary key como o sufixo, pois ele deve estar disponível para você nos registros do banco de dados relacional. Além disso, você deve manter o conjunto de membros (por exemplo, SREM Records:Ids red ), ao excluir chaves de hash (por exemplo, DEL Records:red ). E lembre-se também que o Redis é muito bom como um cache aprimorado, você deve configurá-lo bem para persistir os valores (e manter o desempenho com isso).