Redis 脚本及其应用

Posted striver_zhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 脚本及其应用相关的知识,希望对你有一定的参考价值。

参考:http://www.runoob.com/redis/redis-scripting.html

 

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

语法

Eval 命令的基本语法如下:

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

实例

以下实例演示了 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"

上面这一串代码大概是什么意思呢? 第一个参数的字符串就是script,也就是lua脚本。2表示keys的个数,KEYS[1] 就是 username的占位符, KEYS[2]就是

age的占位符,ARGV[1]就是jack的占位符,ARGV[2]就是20的占位符,,以此类推,,,所以最后的结果应该就是:{return username age jack 20} 是不

是有点像C#中的占位符:{0}呢??? 

 

具体应用请见该文章:https://www.cnblogs.com/huangxincheng/p/6230129.html

Redis 脚本命令

下表列出了 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 添加到脚本缓存中,但并不立即执行这个脚本。

以上是关于Redis 脚本及其应用的主要内容,如果未能解决你的问题,请参考以下文章

详细解析Redis中的布隆过滤器及其应用

Redis使用LUA脚本

Redis使用LUA脚本

Redis 淘汰策略与过期策略及其应用场景

Redis 淘汰策略与过期策略及其应用场景

Redis实现分布式锁(设计模式应用实战)