11
我正在構建我的第一個Redis服務器端腳本(,用於調試),而且我缺乏Lua經驗讓我非常困惑。Redis的Lua腳本總結了密鑰的值
基本上有一個K/V對(包含〜1000個值)的數據集,我想從中列出所有匹配模式的KEYS。例如在redis-cli中:
> KEYS "carlos:*"
1) "carlos:1"
2) "carlos:2"
3) "carlos:3"
4) "carlos:4"
基於上面的輸出,我想通過執行一個Lua腳本返回這些鍵的總和。 〜#Redis的-CLI EVAL「$:目前我已經在我的sum.lua
local sum = 0
local matches = redis.call('KEYS', 'carlos:*')
for unpack(matches)
sum = sum + redis.call('GET', matches)
end
return sum
雖然上面的腳本可能不正確,甚至redis.call('KEYS', 'carlos:*')
通過自身努力產生以下錯誤
根@卡洛斯以下(貓sum.lua)」
(錯誤)錯誤的 'EVAL' 命令
I H錯誤的參數個數ave嘗試了一些我的語法迭代無濟於事。有任何想法嗎?
由於
注意,這將永遠緩存腳本在Redis的,所以你應該正常使用ARGV來傳遞參數,而不是硬編碼像'carlos:*'這樣的參數。 – CherryDT