redis与lua脚本结合,java基本使用
2017-03-04 00:00
615 查看
Lua介绍
Lua是一个高效、简洁、轻量级、可扩展的脚本语言,可以很方便的嵌入到其它语言中使
用,Redis从2.6版支持Lua。
使用lua脚本的主要几个好处
1:减少网络开销,这个可以极大的提升访问速度
2:原子操作:Redis会把脚本当作一个整体来执行,中间不会插入其它命令
3:复用功能
4.可以实现我们传统数据库里面的‘’存储过程‘’
下面是基本的示例:
打印输出如下:
相应的代码请点击:
代码里有集成客户端分片redis集群和服务端redis集群的实现,并有和spring的相关集成
https://git.oschina.net/liuweixy52222/ssm-common-redis.git
Lua是一个高效、简洁、轻量级、可扩展的脚本语言,可以很方便的嵌入到其它语言中使
用,Redis从2.6版支持Lua。
使用lua脚本的主要几个好处
1:减少网络开销,这个可以极大的提升访问速度
2:原子操作:Redis会把脚本当作一个整体来执行,中间不会插入其它命令
3:复用功能
4.可以实现我们传统数据库里面的‘’存储过程‘’
下面是基本的示例:
package org.lanqiao.ssm.common.redis.lua; import java.util.ArrayList; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import redis.clients.jedis.Jedis; /** * * @Title: RedisTest.java * @Package org.lanqiao.ssm.common.redis * @Description: TODO(本地jedis 调用lua脚本使用) * @author 刘伟 15818570028@163.com * @date 2016年10月11日 上午9:29:35 * @version V1.0 */ public class RedisLuaTest { private static final Log log = LogFactory.getLog(RedisLuaTest.class); public static void main(String[] args) { Jedis jedis = new Jedis("10.1.10.80", 6379); List<String> keys = new ArrayList<>(); List<String> vals = new ArrayList<>(); // 测试一 基本测试 Object eval = jedis.eval("return 1", keys, vals); log.info(eval); // 测试二 eval 里面也可以是一个文件 keys.add("kk"); Object eval2 = jedis.eval("local tab={} for i=1,#KEYS do tab[i] = redis.call('get',KEYS[i]) end return tab", keys, vals); log.info(eval2); // 测试三 scriptLoad //好处:这样可以缓存到服务器,不用每次把lua脚本的内容传过去 String lua = "local tab={} for i=1,#KEYS do tab[i] = redis.call('get',KEYS[i]) end return tab"; String scriptLoad = jedis.scriptLoad(lua); log.info(scriptLoad); Object evalsha = jedis.evalsha(scriptLoad, keys, vals); log.info(evalsha); } }
打印输出如下:
相应的代码请点击:
代码里有集成客户端分片redis集群和服务端redis集群的实现,并有和spring的相关集成
https://git.oschina.net/liuweixy52222/ssm-common-redis.git
相关文章推荐
- 简介Lua脚本与Redis数据库的结合使用
- Lua基本语法/Redis使用Lua脚本
- Nginx 内嵌lua脚本,结合Redis使用
- redis与lua脚本的结合使用
- Nginx 内嵌lua脚本,结合Redis使用
- Redis之与redis关联使用的脚本lua的基本语法
- Java中使用LUA脚本语言
- 在JAVA中使用LUA脚本记,javaj调用lua脚本的函数(转)
- redis中使用java脚本实现分布式锁
- redis中的事务、lua脚本和管道的使用场景
- redis中的事务、lua脚本和管道的使用场景
- Java中使用Lua脚本语言(转)
- PHP中使用redis执行lua脚本示例
- Java中使用LUA脚本语言
- redis实现附近的人,但jedis中没有相关api,那么直接使用lua脚本执行。
- java对redis的基本使用(Jedis)
- 如何在Java中使用Lua脚本语言
- Java中使用Lua脚本语言
- Redis中使用Lua脚本的开发思路