前言
Redis内嵌了Lua环境来支持用户扩展功能,但是出于数据一致性考虑,要求脚本必须是纯函数的形式,也就是说对于一段Lua脚本给定相同的参数,写入Redis的数据也必须是相同的,对于随机性的写入Redis是拒绝的。
从Redis 3.2开始Lua脚本支持随机性写入,最近在总结4.0的新特性,索性就都归到4.0里,方便查阅。
Redis中的Lua脚本
1. Lua脚本简介
在Redis中使用Lua脚本不可避免的要用到以下三个命令:EVAL、EVALSHA和SCRIPT,下面我们来简单介绍一下:
- EVAL script numkeys key [key …] arg [arg …]
script参数就是一段Lua脚本
numkeys参数用于指明后面key的数量
key键名,在Lua脚本中可以通过全局变量KEY