Redis的指令碼
Redis 指令碼使用 Lua 直譯器來執行指令碼。Reids 2.6 版本通過內嵌支援 Lua 環境。執行指令碼的常用命令為EVAL。
redis Eval 命令基本語法如下:
redis 127.0.0.1:6379> EVAL scriptnumkeys key [key ...] arg [arg ...]
引數說明:
script: 引數是一段 Lua 5.1 指令碼程式。指令碼不必(也不應該)定義為一個 Lua 函式。
numkeys: 用於指定鍵名引數的個數。
key [key ...]: 從 EVAL 的第三個引數開始算起,表示在指令碼中所用到的那些 Redis 鍵(key),這些鍵名引數可以在 Lua 中通過全域性變數 KEYS 陣列,用 1 為基址的形式訪問( KEYS[1] , KEYS[2] ,以此類推)。
arg [arg ...]: 附加引數,在 Lua 中通過全域性變數 ARGV 陣列訪問,訪問的形式和KEYS 變數類似( ARGV[1] 、 ARGV[2] ,諸如此類)。
演示如下:
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"
Redis指令碼命令
EVAL script numkeys key [key ...] arg [arg...] 執行 Lua 指令碼。
EVALSHA sha1 numkeys key [key ...] arg [arg...] 執行 Lua 指令碼。
SCRIPT EXISTS script [script ...] 檢視指定的指令碼是否已經被儲存在快取當中。
SCRIPT FLUSH 從指令碼快取中移除所有指令碼。
SCRIPT KILL 殺死當前正在執行的 Lua 指令碼。
SCRIPT LOAD script 將指令碼 script 新增到指令碼快取中,但並不立即執行這個指令碼。
相關文章
- Redis - Lua 指令碼Redis指令碼
- Redis使用Lua指令碼Redis指令碼
- redis重啟指令碼Redis指令碼
- redis學習(九) redis事務和redis指令碼的比較Redis指令碼
- MacOS 啟動 -- Redis指令碼MacRedis指令碼
- redis的bigkey掃描指令碼Redis指令碼
- redis中lua指令碼的簡單使用Redis指令碼
- Redis 實戰 —— 14. Redis 的 Lua 指令碼程式設計Redis指令碼程式設計
- Redis Lua指令碼完全入門Redis指令碼
- redis裡顯示key大小的shell指令碼Redis指令碼
- Redis篇:事務和lua指令碼的使用Redis指令碼
- redis多例項重啟指令碼薦Redis指令碼
- redis命令之-script指令碼學習Redis指令碼
- 通過 Redis 定時執行指令碼Redis指令碼
- Redis大key掃描Python指令碼RedisPython指令碼
- redis3.0叢集監控指令碼RedisS3指令碼
- redis+lua指令碼實現介面限流Redis指令碼
- redis執行lua指令碼的實現方法括饃Redis指令碼
- 【Redis】獲取沒有設定ttl的key指令碼Redis指令碼
- Redis中的原子操作(2)-redis中使用Lua指令碼保證命令原子性Redis指令碼
- 深入分析 Redis Lua 指令碼執行原理Redis指令碼
- openresty+redis配合 lua指令碼封停 IPRESTRedis指令碼
- Lua 指令碼在 Redis 事務中的應用實踐指令碼Redis
- Lua指令碼在Redis事務中的應用實踐指令碼Redis
- Redis常見指令Redis
- Redis 入門指令Redis
- windows通過python指令碼重啟本地redisWindowsPython指令碼Redis
- Redis使用lua指令碼實現庫存扣減Redis指令碼
- redis+lua實現指令碼一鍵查詢Redis指令碼
- 要想用活Redis,Lua指令碼是繞不過去的坎Redis指令碼
- Redis中Lua指令碼的使用和設定超時坍淑Redis指令碼
- 生成insert指令碼的指令碼指令碼
- 【Azure Redis 快取】使用Python程式碼獲取Azure Redis的監控指標值 (含Powershell指令碼方式)Redis快取Python指標指令碼
- Redis 使用 Lua 指令碼替代 SETNX / DECR 保證原子性Redis指令碼
- Redis 未授權訪問漏洞(附Python指令碼)RedisPython指令碼
- 為什麼在 Redis 實現 Lua 指令碼事務?Redis指令碼
- 採用lua指令碼獲取mysql、redis資料以及jwt的校驗指令碼MySqlRedisJWT
- SpringGateway - Redis限流元件之Luau指令碼&Java實現SpringGatewayRedis元件指令碼Java