Redis 脚本

Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL

 

1. Redis 脚本语法

Eval 命令的基本语法如下:

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

 

2. Redis 脚本范例

以下范例演示了 redis 脚本工作过程:

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"

 

3. Redis 脚本命令

下表列出了 redis 脚本常用命令:

序号命令及描述
1EVAL script numkeys key [key ...] arg [arg ...]
执行 Lua 脚本。
2SCRIPT LOAD script
将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。
3EVALSHA sha1 numkeys key [key ...] arg [arg ...]
执行 Lua 脚本。
4SCRIPT EXISTS script [script ...]
查看指定的脚本是否已经被保存在缓存当中。
5SCRIPT FLUSH
从脚本缓存中移除所有脚本。
6SCRIPT KILL
杀死当前正在运行的 Lua 脚本。

Redis HyperLogLog Redis 在 2.8.9 版本添加了 HyperLogLog 结构。 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素..