gpt4 book ai didi

node.js - 我应该在单个命令中增加多个键字段吗?

转载 作者:可可西里 更新时间:2023-11-01 11:21:44 25 4
gpt4 key购买 nike

我在 redis 中创建了如下键。

hmset mykey field1 1 field2 2
OK

//checked with command
hgetall mykey
1) "field1"
2) "1"
3) "field2"
4) "2"

结果没问题,工作正常。现在我想在一个命令中增加这两个值,比如

hincrby mykey field1 1 field2 1

这可能吗?

最佳答案

否 - HINCRBY 不支持这种类型的使用。如果您的动机是确保两个增量的原子性,请使用 MULTI/EXEC 或服务器端 Lua 脚本(请参阅 EVAL 命令)。

以下是如何解决原始问题以确保原子性:

MULTI
HSET mykey field1 1
HSET mykey field2 2
EXEC

对于第二个问题(在评论中 - “仅当大于则设置”),应使用这些参数评估以下脚本 1 <keyname> <value> :

local curr = tonumber(redis.call("GET", KEYS[1]))
if type(curr) == "number" and curr < tonumber(ARGV[1]) then
redis.call("SET", KEYS[1], ARGV[1])
return "OK"
end

关于node.js - 我应该在单个命令中增加多个键字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27037669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com