Redis 腳本及其應用

參考:http://www.runoob.com/redis/redis-scripting.htmlhtml

 

Redis 腳本使用 Lua 解釋器來執行腳本。 Reids 2.6 版本經過內嵌支持 Lua 環境。執行腳本的經常使用命令爲 EVALredis

語法

Eval 命令的基本語法以下:緩存

redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]

實例

如下實例演示了 redis 腳本工做過程:lua

redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second 1) "key1" 2) "key2" 3) "first" 4) "second"

上面這一串代碼大概是什麼意思呢? 第一個參數的字符串就是script,也就是lua腳本。2表示keys的個數,KEYS[1] 就是 username的佔位符, KEYS[2]就是spa

age的佔位符,ARGV[1]就是jack的佔位符,ARGV[2]就是20的佔位符,,以此類推,,,因此最後的結果應該就是:{return username age jack 20} 是不htm

是有點像C#中的佔位符:{0}呢??? blog

 

具體應用請見該文章:https://www.cnblogs.com/huangxincheng/p/6230129.htmlip

Redis 腳本命令

下表列出了 redis 腳本經常使用命令:字符串

 

序號 命令及描述
1 EVAL script numkeys key [key ...] arg [arg ...] 
執行 Lua 腳本。
2 EVALSHA sha1 numkeys key [key ...] arg [arg ...] 
執行 Lua 腳本。
3 SCRIPT EXISTS script [script ...] 
查看指定的腳本是否已經被保存在緩存當中。
4 SCRIPT FLUSH 
從腳本緩存中移除全部腳本。
5 SCRIPT KILL 
殺死當前正在運行的 Lua 腳本。
6 SCRIPT LOAD script 將腳本 script 添加到腳本緩存中,但並不當即執行這個腳本。
相關文章
相關標籤/搜索