Co możesz zrobić, a widziałem to w innych miejscach poza moim kodem, to wpisać skrót za pomocą sufiksu. Prawdopodobnie masz przyrostek, który identyfikuje każdy rekord, użyję tutaj kolorów:
W CZASIE WSTAWIANIA:
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
W CZASIE ZAPYTANIA:
/* 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
Prawdopodobnie chcesz użyć primary key
jako przyrostek, ponieważ powinien on być dostępny z rekordów relacyjnej bazy danych. Ponadto musisz utrzymywać zbiór członków (np. SREM Records:Ids red
), podczas usuwania kluczy mieszających (np. DEL Records:red
). Pamiętaj też, że Redis jest naprawdę dobry jako ulepszona pamięć podręczna, musisz ją dobrze skonfigurować, aby utrwalać wartości (i utrzymywać dzięki temu wydajność).