Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash Redis使用新行键值哈希存储_Hash_Redis - Fatal编程技术网

Hash Redis使用新行键值哈希存储

Hash Redis使用新行键值哈希存储,hash,redis,Hash,Redis,我想在Redis散列中存储数据。数据如下(键=值): 在redis中存储此信息的简单方法如下: hmset info 30.2.25 REF_IP 30.2.24 MY_HOST_IP 30.2.32 PEER_IP 30.2.32 IM_USER_MY_HOST 30.2.2 23992 考虑到我有1000个键值,并且想一次更改几个(实际上是这么多)值,所以在上面的命令中搜索和编辑值太痛苦了 我想以以下方式执行命令,即在每个键值后添加新行的格式良好的命令: hmset info 30.2.

我想在Redis散列中存储数据。数据如下(键=值):

在redis中存储此信息的简单方法如下:

hmset info 30.2.25 REF_IP 30.2.24 MY_HOST_IP 30.2.32 PEER_IP 30.2.32 IM_USER_MY_HOST 30.2.2 23992 
考虑到我有1000个键值,并且想一次更改几个(实际上是这么多)值,所以在上面的命令中搜索和编辑值太痛苦了

我想以以下方式执行命令,即在每个键值后添加新行的格式良好的命令:

hmset info
30.2.25 REF_IP
30.2.24 MY_HOST_IP
30.2.32 PEER_IP
30.2.32 IM_USER_MY_HOST
30.2.2 23992
有可能吗

目前,当我复制上面格式化的命令并粘贴时,它会忽略新行之后的测试,并给出下面的错误,这很明显,因为新行导致参数错误

hmset info
(error) ERR wrong number of arguments for 'hmset' command

谁能帮忙吗。谢谢

假设您正在谈论使用redis cli,目前没有办法支持这一点。这是一个悬而未决的问题。看

根据Redis 4.0.0,
HMSET
被视为不推荐使用。您应该改用
HSET

如果希望确保所有HSET同时完成,并且仍然一次只输入一行,则可以使用事务

MULTI
HSET info 30.2.25 REF_IP
HSET info 30.2.24 MY_HOST_IP
...
EXEC
这些命令一次只发送一行到服务器,但它们是排队的,只在
EXEC
命令中执行


您可以使用另一个客户端,比如说Python,然后做一些更有趣的事情,将字段值hsets压缩到一个命令中。

谢谢您的评论。
MULTI
HSET info 30.2.25 REF_IP
HSET info 30.2.24 MY_HOST_IP
...
EXEC