加载与调用
加载与调用
SCRIPT LOAD "return redis.call('GET', KEYS[1])"
# -> "4e6d8fc8f0f3f0d4..."
EVALSHA 4e6d8fc8f0f3f0d4... 1 mykey
SCRIPT EXISTS 4e6d8fc8f0f3f0d4... # 1=在 0=不在
SCRIPT FLUSH ASYNC # 清空脚本缓存
SCRIPT KILL # 杀超时脚本(只读脚本可杀)| NOSCRIPT | 缓存没有该脚本:客户端应回退 EVAL 重新加载 |
|---|---|
| 缓存生命周期 | 实例内内存缓存;重启、FLUSH 后消失 |
| 版本管理 | 脚本变更=sha1 变更,客户端按内容哈希缓存最稳 |
主流客户端(redis-py、Jedis、Lettuce)都内置脚本管理:首次 EVAL,之后 EVALSHA,遇 NOSCRIPT 自动重试。