编写查询以将多个值添加到 REDIS 哈希中的键?

2023-11-25

我浏览了 REDIS 哈希上的命令列表。是否可以为 REDIS 中的哈希键分配多个值?例如,我试图以哈希的形式表示下表。

 Prod_Color  |   Prod_Count  |   Prod_Price   |   Prod_Info
------------------------------------------------------------
  Red        |       12      |       300      |   In Stock
  Blue       |        8      |       310      |   In Stock

我随后尝试了以下哈希命令

HMSET Records Prod_Color "Red" Prod_Count 12 Prod_Price 300 Prod_Info "In Stock"

HMSET Records Prod_Color "Blue" Prod_Count 8 Prod_Price 310 Prod_Info "In Stock"

但是,当我尝试使用命令 HGETALL Records 检索哈希时,我只看到第二行插入的值(即 Blue,8,310,In Stock)!我知道我可以创建一个单独的哈希并插入第二行值,但是,我打算将所有值插入一个哈希中。


你能做的就是使用后缀来键入哈希值,我在代码之外的其他地方也看到了这一点。您可能有一个标识每个记录的后缀,我将在此处使用颜色:

在插入时:

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

在查询时:

/* 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

您可能想使用primary key作为后缀,因为您应该可以从关系数据库记录中获得它。此外,您必须维护成员集(例如SREM Records:Ids red),删除哈希键时(例如DEL Records:red)。还要记住,Redis 作为改进的缓存确实非常好,您必须对其进行良好的设置以保存值(并以此保持性能)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编写查询以将多个值添加到 REDIS 哈希中的键? 的相关文章

随机推荐