參考:http://www.runoob.com/redis/redis-scripting.htmlhtml
Redis 腳本使用 Lua 解釋器來執行腳本。 Reids 2.6 版本經過內嵌支持 Lua 環境。執行腳本的經常使用命令爲 EVAL。redis
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 腳本經常使用命令:字符串
序號 | 命令及描述 |
---|---|
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 添加到腳本緩存中,但並不當即執行這個腳本。 |