lua 操作redis
阿新 • • 發佈:2018-05-12
-c 代碼 完成 整體 print del 客戶 發送 ret
Redis在2.6推出了腳本功能,允許開發者使用Lua語言編寫腳本傳到Redis中執行。使用腳本的好處如下:
- 1.減少網絡開銷:本來5次網絡請求的操作,可以用一個請求完成,原先5次請求的邏輯放在redis服務器上完成。使用腳本,減少了網絡往返時延。
- 2.原子操作:Redis會將整個腳本作為一個整體執行,中間不會被其他命令插入。
- 3.復用:客戶端發送的腳本會永久存儲在Redis中,意味著其他客戶端可以復用這一腳本而不需要使用代碼完成同樣的邏輯。
使用方式:
redis-cli --eval demo.lua key1 key2.. , val1 val2...
redis-cli eval "$(cat demo.lua)" 2 key1 key2.. val1 val2... // 2 key 數量
redis-cli eval "return redis.call(‘get‘,‘a‘)" 0
demo.lua
local vals = redis.call(‘get‘,KEYS[1]);
print(vals)
調用
redis-cli --eval demo.lua a <==>redis> get a
lua 操作redis