提起spring,redis,大家都在使用spring-data-redis;无可否认,这很好;
现状: 公司的spring版本太低了;2.5.。。古董,升级,涉及面太多了,伤筋动骨;
剑走偏锋,咱们今天曲线救国,直接spring 2.5.6整合最新版本的redis(jedis-2.8.0.jar);
任何未写版本的高谈阔论都是耍流氓;因此一定记得注明版本!!!我的版本是
spring-2.5.6.jar
jedis-2.8.0.jar
第一:引入jar包;
第二:配置redis参数:system.db.properties;
写道
redis.pool.maxTotal=1024
redis.pool.maxIdle=200
redis.pool.minIdle=5
redis.pool.maxWaitMillis=1000
redis.pool.testOnBorrow=true
redis.pool.testOnReturn=true
redis.host=127.0.0.1
redis.port=6379
redis.timeout=1000
redis.pool.maxIdle=200
redis.pool.minIdle=5
redis.pool.maxWaitMillis=1000
redis.pool.testOnBorrow=true
redis.pool.testOnReturn=true
redis.host=127.0.0.1
redis.port=6379
redis.timeout=1000
第三:配置spring的文件:context.redis.xml
注意:我们知道commons-pool2 的maxactive,maxWait已经更改命名。
JedisPoolConfig继承的就是我们熟悉的org.apache.commons.pool.impl.GenericObjectPool.Config。
jedis的大神们做扩展时,能不能考虑下代码的兼容性。。。。(一个坑,引用于万能的网友)我的配置是最新版;2016-05-31
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans default-autowire="byName"> <!-- 加载redis配置文件 已在system.db.properties <context:property-placeholder location="classpath:redis.properties"/> --> <!-- redis连接池的配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal"> <value>${redis.pool.maxTotal}</value> </property> <property name="maxIdle" value="${redis.pool.maxIdle}"/> <property name="minIdle" value="${redis.pool.minIdle}"/> <property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}"/> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}"/> <property name="testOnReturn" value="${redis.pool.testOnReturn}"/> </bean> <!-- redis的连接池pool,不是必选项:timeout/password --> <bean id = "jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg index="0" ref="jedisPoolConfig"/> <constructor-arg index="1" value="${redis.host}"/> <constructor-arg index="2" value="${redis.port}" type="int"/> <constructor-arg index="3" value="${redis.timeout}" type="int"/> <!-- <constructor-arg index="4" value="${redis.password}"/>--> </bean> <bean id = "redisService" class="com.hh.common.tools.RedisService"> </bean> </beans>
第四,工具类RedisService;封装了add,get,以及超时的方法;
package com.hh.common.tools; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * <p>功能:封装redis 缓存服务器服务接口 * 时间 2016年5月31日 下午3:36:21 * @version 1.0 */ public class RedisService { /** * 通过key删除(字节) * @param key */ public void del(byte [] key){ this.getJedis().del(key); } /** * 通过key删除 * @param key */ public void del(String key){ this.getJedis().del(key); } /** * 添加key value 并且设置存活时间(byte) * @param key * @param value * @param liveTime */ public void set(byte [] key,byte [] value,int liveTime){ this.set(key, value); this.getJedis().expire(key, liveTime); } /** * 添加key value 并且设置存活时间 * @param key * @param value * @param liveTime */ public void set(String key,String value,int liveTime){ this.set(key, value); this.getJedis().expire(key, liveTime); } /** * 添加key value * @param key * @param value */ public void set(String key,String value){ this.getJedis().set(key, value); } /**添加key value (字节)(序列化) * @param key * @param value */ public void set(byte [] key,byte [] value){ this.getJedis().set(key, value); } /** * 获取redis value (String) * @param key * @return */ public String get(String key){ String value = this.getJedis().get(key); return value; } /** * 获取redis value (byte [] )(反序列化) * @param key * @return */ public byte[] get(byte [] key){ return this.getJedis().get(key); } /** * 通过正则匹配keys * @param pattern * @return */ public Set<String> keys(String pattern){ return this.getJedis().keys(pattern); } /** * 检查key是否已经存在 * @param key * @return */ public boolean exists(String key){ return this.getJedis().exists(key); } /** * 清空redis 所有数据 * @return */ public String flushDB(){ return this.getJedis().flushDB(); } /** * 查看redis里有多少数据 */ public long dbSize(){ return this.getJedis().dbSize(); } /** * 检查是否连接成功 * @return */ public String ping(){ return this.getJedis().ping(); } /** * 获取一个jedis 客户端 * @return */ private Jedis getJedis(){ if(jedis == null){ return jedisPool.getResource(); } return jedis; } private RedisService (){ } //操作redis客户端 private static Jedis jedis; public JedisPool getJedisPool() { return jedisPool; } public void setJedisPool(JedisPool jedisPool) { this.jedisPool = jedisPool; } private JedisPool jedisPool; //action调用完了,一定要关掉! public void close(){ if(jedis != null){ System.out.println("关闭一次redis连接"); jedis.close(); jedis=null; } } }
相关推荐
在这个场景下,"commons-pool.jar"和"jedis-2.4.2.jar"是两个关键的Java库,它们允许开发者在Java应用中便捷地操作Redis。 `commons-pool.jar`是Apache Commons Pool项目的一部分,它提供了一个通用的对象池服务。...
**Jedis 2.8.0 - Redis 链接器与 Java 开发** Jedis 是一个用 Java 编写的高效、轻量级的 Redis 客户端,它提供了丰富的 Redis 指令集,使得在 Java 应用中集成 Redis 数据库变得简单而便捷。在 2016 年发布的 ...
Jedis提供了全面的Redis命令支持,使Java开发者能够方便地在应用程序中集成和操作Redis。Jedis-2.9.0是该库的一个稳定版本,它包含了对Redis各种功能的实现,包括但不限于连接管理、事务处理、发布/订阅、Lua脚本...
该jar包用于连接Redis,编程语言为Java。
jedis-2.4.1.jar、redis.clients-3.0.1.jar、jedis-3.0.0.jar 全量包,可用!
总结来说,"jedis-3.3.0.jar"和"commons-pool2-2.9.0.jar"的结合使用,为Java开发者提供了高效、稳定的Redis连接和资源管理方案,通过Jedis的API可以便捷地操作Redis,而Apache Commons Pool 2则确保了连接资源的...
包含Java说明文件、配置代码、redis相应版本的Jar 1、代码片段要求的框架为:SpringMVC,但原理都是一样的,采用其他方式也可以。 2、RedisMng为简单封装的接口,不封装,直接采用redisTemplate也可以。
总的来说,"jedis-2.1.0.jar+commons-pool-1.6.jar"组合是Java开发中用于高效连接和管理Redis的强大工具,通过连接池优化了资源利用,提升了应用性能。在实际开发中,开发者应根据项目的具体需求和资源限制,合理...
总结来说,Jedis 2.8.0是Java开发者与Redis交互的重要工具,通过它,我们可以便捷地利用Redis的各种功能,提升应用的性能和可扩展性。在实际使用中,需要根据项目需求进行适当的配置和优化,以达到最佳效果。
标签:clients、jedis、redis、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
开发者可以通过导入这个JAR,直接在Java程序中使用Jedis来执行Redis命令,例如设置和获取键值、执行事务、操作列表、集合和有序集合等。 2. **jedis-3.0.0-javadoc.jar**:这个文件包含了Jedis库的API文档,提供了...
`jedis-2.9.0.jar`是Jedis的特定版本,它是Java开发人员连接和操作Redis的主要库。Jedis提供了丰富的API,支持多种Redis命令,如字符串、哈希、列表、集合、有序集合、发布/订阅、事务、脚本以及Geo等功能。它不仅...
标题中的"jedis-3.2.0.jar + commons-pool2-2.6.2.jar"提到了两个关键的Java库:Jedis和Apache Commons Pool2。Jedis是Java编程语言中广泛使用的Redis客户端,而Apache Commons Pool2则是一个对象池实现,用于有效地...
总结起来,"最新redis架包jedis-2.9.0.jar和commons-pool2-2.4.2.jar"提供了高效连接管理和全面的Redis操作功能,是Java开发者与Redis服务器进行通信的强大工具。在实际项目中,结合这两个组件,可以构建出高性能、...
在Java开发中,为了与Redis进行交互,通常需要引入相关的Java库,如`commons-pool.jar`和`jedis-1.5.2.jar`。 `commons-pool.jar`是Apache Commons的一个组件,全称为Apache Commons Pool,它提供了一种对象池化...
标题"jedis-2.9.0.jar和commons-pool2-2.6.0.jar下载(jedis连接redis数据库)"指的是两个Java库的下载信息,用于连接Redis数据库。其中,`jedis-2.9.0.jar`是Jedis的特定版本,它是Java开发人员用来操作Redis的...
本文件包经过本人亲测能用,支持nginx1.8.1和tomcat7.0.63和Redis-x64-3.2.100版, 包含tomcat集群redis会话共享的依赖jar包,包含有2.1.0和2.7.2两个版本,配置方式稍微有点差别,两个版本不兼容。 2.1.0版包含 ...
【标题】中的“tomcat-redis-session-manage-tomcat7.jar”是一个专门为Tomcat7设计的Redis会话管理器的Java档案,它允许Tomcat将用户的会话数据存储在Redis缓存系统中,而非传统的内存或硬盘。Redis是一个开源的、...
Jedis是Java开发的一款高效的Redis客户端库,广泛应用于与Redis服务器进行交互的Java项目中。在本资源包中,我们提供了jedis-2.9.0.jar,这是Jedis的一个稳定版本,支持多种Redis操作,如键值操作、事务处理、发布...