提起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; } } }
相关推荐
java使用redis客户端需要的jar包jedis-2.8.0.jar,方便大家查找
2016 最新 jedis-2.8.0.jar 下载
标签:clients、jedis、redis、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
该jar包用于连接Redis,编程语言为Java。
jedis-2.4.1.jar、redis.clients-3.0.1.jar、jedis-3.0.0.jar 全量包,可用!
最新的redis连接池使用的两个jar包 jJedis3.30 jar,commons-pool2-2.9.0。测试能正常使用
redis缓存需要的jar commons-pool.jar jedis-1.5.2.jar
jedis-2.9.0.jar+commons-pool2-2.4.2.jar,用于java连接redis或者redis集群。 jedis-2.9.0.jar依赖commons-pool2-2.4.2.jar
本文件包经过本人亲测能用,支持nginx1.8.1和tomcat7.0.63和Redis-x64-3.2.100版, 包含tomcat集群redis会话共享的依赖jar包,包含有2.1.0和2.7.2两个版本,配置方式稍微有点差别,两个版本不兼容。 2.1.0版包含 ...
redis最新Java驱动包jedis-2.9.0.jar,和commons-pool2-2.4.3.jar
commons-pool.jar,jedis-2.4.2.jar,java使用redis要用到的jar包
包含Java说明文件、配置代码、redis相应版本的Jar 1、代码片段要求的框架为:SpringMVC,但原理都是一样的,采用其他方式也可以。 2、RedisMng为简单封装的接口,不封装,直接采用redisTemplate也可以。
自己用maven生成的,不包含test文件夹。 包含jedis-3.0.0.jar,jedis-3.0.0-sources.jar,jedis-3.0.0-javadoc.jar
用jmeter连接redis必须用的jar包-jedis-2.2.0.jar 可用来测试redis的性能。
jedis-2.9.0.jar操作Redis时使用
commons-pool2-2.3.jar,jedis-2.8.0.jar,spring-data-redis-1.6.0.RELEASE.jar,spring-session-1.1.1.RELEASE.jar,Spring-data-redis(Version 1.6.0.RC1)中文版.pdf
spring-data-redis-1.6.0.RELEASE.jar + jedis-2.7.2.jar,另:相关的配置文件在我的代码片段中
赠送jar包:spring-session-data-redis-2.0.4.RELEASE.jar; 赠送原API文档:spring-session-data-redis-2.0.4.RELEASE-javadoc.jar; 赠送源代码:spring-session-data-redis-2.0.4.RELEASE-sources.jar; 赠送...
redis所需要的jar包commons-pool2-2.4.2.jar和jedis-2.7.2.jar