Redis的INCRBY命令不支持批量操作。INCRBY命令用于給指定的鍵增加一個整數值。如果你需要對多個鍵執行增量操作,你需要對每個鍵分別執行INCRBY命令。
例如,如果你需要對鍵key1、key2和key3分別增加1、2和3,你需要執行以下命令:
INCRBY key1 1
INCRBY key2 2
INCRBY key3 3
如果你需要批量執行增量操作,可以考慮使用Lua腳本。通過在Redis中執行Lua腳本,你可以原子性地對多個鍵執行操作。這是一個使用Lua腳本的示例:
local keys = KEYS
local increments = ARGV
local result = 0
for i, key in ipairs(keys) do
result = result + tonumber(redis.call('GET', key) or '0') + increments[i]
redis.call('SET', key, result)
end
return result
要將此腳本保存為文件(例如increment_keys.lua),可以使用以下命令:
cat <<EOF > increment_keys.lua
local keys = KEYS
local increments = ARGV
local result = 0
for i, key in ipairs(keys) do
result = result + tonumber(redis.call('GET', key) or '0') + increments[i]
redis.call('SET', key, result)
end
return result
EOF
然后,你可以使用EVAL命令執行此腳本:
EVAL "$(cat increment_keys.lua)" 3 key1 1 key2 2 key3 3
這將原子性地對key1、key2和key3分別增加1、2和3。