小编给大家分享一下redis与spring整合使用的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
成都创新互联公司专业网站制作、成都网站设计,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文营销等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
方法如下
第一步,在项目中加入redis的pom代码:
redis.clients jedis 2.6.0
第二步,spring中加载redis配置文件:applicationContext-redis.xml,内容如下
第三步,编写连接redis服务端的属性文件:redis.properties
redis.maxTotal=100 redis.node1.host=127.0.0.1 redis.node1.port=6379
第四步,编写redis的相关操作方法类,Function类和RedisService类:
Funcrion类:
package xx.service; /** * 为了抽取相同的操作代码 * @author yeying *Description:
*Company:
* @date:2017年12月5日 下午9:02:44 */ public interface Function{ public T callback(E e); }
RedisService类:
package com.taotao.common.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool; /** * redis的相关操作 * @author yeying *Description:
*Company:
* @date:2017年12月3日 下午2:11:47 */ @Service public class RedisService { @Autowired(required=false) //需要再注入进去 private ShardedJedisPool shardedJedisPool; privateT execute(Function fun){ ShardedJedis shardedJedis = null; try { // 从连接池中获取到jedis分片对象 shardedJedis = shardedJedisPool.getResource(); // 从redis中获取数据 return fun.callback(shardedJedis); } catch (Exception e) { e.printStackTrace(); } finally { if (null != shardedJedis) { // 关闭,检测连接是否有效,有效则放回到连接池中,无效则重置状态 shardedJedis.close(); } } return null; } /** * 执行set操作 * @param key * @param value * @return */ public String set(final String key,final String value){ return this.execute(new Function () { @Override public String callback(ShardedJedis e) { return e.set(key, value); } }); } /** * 执行set操作,并设置生存时间,单位为秒 * @param key * @param value * @param seconds * @return */ public String set(final String key,final String value,final Integer seconds){ return this.execute(new Function () { @Override public String callback(ShardedJedis e) { String str =e.set(key, value); e.expire(key, seconds); return str; } }); } /** * 执行get操作 * @param key * @return */ public String get(final String key){ return this.execute(new Function () { @Override public String callback(ShardedJedis e) { return e.get(key); } }); } /** * 执行set操作 * @param key * @return */ public Long del(final String key){ return this.execute(new Function () { @Override public Long callback(ShardedJedis e) { return e.del(key); } }); } /** * 设置生存时间,单位为秒 * @param key * @param seconds * @return */ public Long expire(final String key, final Integer seconds) { return this.execute(new Function () { @Override public Long callback(ShardedJedis e) { return e.expire(key, seconds); } }); } }
第五步,启动redis服务,redis-server.exe,双击打开:
看完了这篇文章,相信你对“redis与spring整合使用的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!