如何在Redis实例中有效保存项目价格地图数据

时间:2017-07-29 11:34:41

标签: node.js redis

我的数据包含商品ID及其价格。我想将项目ID作为关键值和价格作为值。 我能想到的最好方法是

> set item:1 2300
> set item:2 4300

等等。

但问题是我必须运行循环来设置节点中的所有数据。如何在redis中使用数据结构,该数据结构将所有键值对一次性设置并插入(替换或插入)所需的键。

2 个答案:

答案 0 :(得分:1)

您可以使用MSET命令一次设置多个键值对。

此外,SETMSET命令都是upserts操作。如果密钥不存在,这些命令会插入键值对,否则会更新值。

答案 1 :(得分:0)

您可以使用单个HSET。

HMSET HSET:ITEM:PRICES item:1 2300 item:2 4300 item:3 5800 item:<ID> <PRICE> ...

为了提高内存效率,您可以删除&#39;项目:&#39;来自字段名称(对于内存中的每个此类条目,redis将仅使用4 + 4个字节)。

HMSET HSET:ITEM:PRICES 1 2300 2 4300 3 5800 <ID> <PRICE> ...

然后,如果您想检索第1项和第2项的价格

HMGET HSET:ITEM:PRICES item:1 item:2

或者如果您使用更有效的方式:

HMGET HSET:ITEM:PRICES 1 2