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

原文地址:https://www.cnblogs.com/striver-zhu/p/8672592.html

时间: 2024-10-10 06:15:25

Redis 脚本及其应用的相关文章

Redis 脚本

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],AR

一起写redis脚本

一.redis脚本环境 要写redis的脚本,首先应该搭建好它的脚本环境.redis使用lua作为其脚本语言.所以搭建lua环境成了首要工作. 环境:centos7.0 redis:3.0.2 1.1 安装lua环境 [[email protected] lua]# curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz [[email protected] lua]# tar zxf lua-5.3.0.tar.gz [[email protect

深入理解Spring Redis的使用 (四)、RedisTemplate执行Redis脚本

对于Redis脚本使用过的同学都知道,这个主要是为了防止竞态条件而用的.因为脚本是顺序执行的.(不用担心效率问题)比如我在工作用,用来设置考试最高分. 如果还没有用过的话,先去看Redis脚本的介绍,发送脚本,缓存脚本,发送sha1执行脚本,以及基本的lua脚本的语法. 1. Redis脚本的使用场景 在一些缓存的设置中,经常会出现竞态条件,由于并发导致数据有误.比如大家熟知的++操作.我们自己通过Redis实现++的话,很容易在并发下出现误差.所以Redis提供了incr函数.我在设置最高分的

Redis脚本

Redis脚本使用Lua解释器用于计算脚本.它Redis从2.6.0版本开始内置.使用脚本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 key

zabbix监控单机多实例redis脚本

zabbix监控单机多实例redis脚本 公司节省成本,充分利用资源,部署了单机多实例的线上情况.作为python新手,果断决定写个很low的脚本,然后实现监控功能. 下面这个脚本实现了,discovery自动发现,然后通过一个status监控实现了,其它监控信息的自动汇报功能.其中很low的地方在于,每个主机上的脚本必须定义本地的redis信息,比如端口,密码之类的:其实这个可以通过配置中心获取的,但是因为分享出来,所以就写了个定义的实例:还有一点大神都一般自己写socket发送数据,我这里很

Redis 脚本(启动/关闭/重启)

Redis 3.2.8 安装与配置 中讲到了如何安装,安装完后手工进行了启动,使用了很久之后需要重启下Redis,结果发现不会正常关闭了. 正常的手动关闭Redis的方法如下, $> redis-cli -h 127.0.0.1 -p 6379 shutdown 为了方便的管理Redis,找了一个脚本文件,并进行了相应的匹配.

ansible-playplaybooks批量安装redis脚本

cat redis-install.yml  --- - name: install redis   gather_facts: False   hosts: "{{ ip }}"   user: root      vars:     - redis_port: "{{ port|default(6379) }}"   tasks: #   - name: remove the old file #     file: path={{ redis_home }} 

python监控redis 脚本(结合zabbix)

#!/bin/python -- coding:UTF-8 -- import redisimport sys """各个参数的解释:keyspace_misses //表示未命中数 keyspace_hits //表示命中数 keyspace_hits_rate = keyspace_hits /(keyspace_hits + keyspace_misses)connected_clients //客户端连接数 blocked_clients //客户端阻塞数 conne

Redis开机启动脚本 Centos6.5

一:安装Redis 1.下载源码,解压缩后编译源码 # wget http://download.redis.io/releases/redis-2.8.3.tar.gz # tar xzf redis-2.8.3.tar.gz # cd redis-2.8.3 # make 2.进入安装目录的src文件夹下,有四个可执行文件redis-server.redis-benchmark.redis-cli和redis.conf,复制到同一个目录下 # mkdir /usr/redis # cp re