使用lua指令碼操作redis資料的乙個demo, 只是為了入門, 以後還會深入.
--[[ set.lua, redis的set命令使用
redis: set key val
--]]
local key = keys[1]
local val = argv[1]
return redis.call('set', key, val)
下面開兩個終端(用127.0.0.1:6379> 和 $表示)實驗--[[ set.lua, redis的get命令使用
redis: get key
--]]
local key = keys[1]
local val = redis.call("get", key);
return val;
可以看到, 可以用lua指令碼操作redis資料。127.0.0.1:6379> get foo
(nil)
$ redis-cli --eval set.lua foo , bar
ok127.0.0.1:6379> get foo
"bar"
$ redis-cli --eval get.lua foo
"bar"
$ redis-cli --eval get.lua fooooo
(nil)
注意:redis-cli --eval set.lua foo , bar
, foo和bar之間的逗號左右都有空格, 否則會報錯, 不知道是為什麼。
歡迎補充指正。$ redis-cli --eval set.lua foo, bar
(error) err error running script (call to f_6d6fd9fdaef84b87a7ce717673defd875d5c36b3): @user_script:4: @user_script: 4: lua redis() command arguments must be strings or integers
Lua指令碼操作redis
eval script numkeys key key arg arg script 對應lua指令碼 numkeys 指定鍵名引數個數 key 為鍵名引數 arg 為附加引數 lua通過全域性變數keys和ar 獲取鍵名引數和附加引數,如下 local k1 keys 1 local feild ...
Redis使用lua指令碼
版本 自2.6.0起可用。時間複雜度 取決於執行的指令碼。使用lua指令碼的好處 命令格式 eval script numkeys key key arg arg 說明 簡單例項 127.0.0.1 6379 eval return ar 1 0 100 100 127.0.0.1 6379 eva...
Redis使用lua指令碼
版本 自2.6.0起可用。時間複雜度 取決於執行的指令碼。使用lua指令碼的好處 命令格式 copy eval script numkeys key key arg arg 說明 簡單例項 copy 127.0.0.1 6379 eval return ar 1 0 100 100 127.0.0....