使用lua指令碼操作redis之demo

2021-08-21 13:44:00 字數 1094 閱讀 6794

使用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)

--[[ set.lua, redis的get命令使用 

redis: get key

--]]

local key = keys[1]

local val = redis.call("get", key);

return val;

下面開兩個終端(用127.0.0.1:6379> 和 $表示)實驗

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)

可以看到, 可以用lua指令碼操作redis資料。

注意: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....