Java + Redis3.0.2集群的应用(二)——Spring集成Jedis
2015-06-28 00:23
766 查看
上一章完成了redis集群环境的搭建后,接下来的任务就是如何在java应用中使用redis缓存了,这里主要使用Spring集成jedis完成对缓存的操作,分三步走:
第一步:在pom.xml引入需要的jar包
第二步:Spring文件相关配置
1、添加redis.properties
以上配置中redis服务器地址可以不用把6台redis服务器全部配置出来,因为现在是集群,你懂的。
2、添加application-redis.xml
3、在Spring文件中引入redis.xml
第三步:java应用中使用,下面给出一个小代码片段,大家看看就应该知道怎么用了:
好了,基本上完成上面三步后,你已经可以在java中使用JedisCluster操作redis集群了。
下一章将讨论redis常用的数据结构,以及如何根据你的系统设计Key-Value.
第一步:在pom.xml引入需要的jar包
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> <type>jar</type> <scope>compile</scope> </dependency>
第二步:Spring文件相关配置
1、添加redis.properties
#redis1的服务器地址 服务端口 redis.host1=192.168.0.106 redis.port1=6379 #redis2的服务器地址 服务端口 redis.host2=192.168.0.106 redis.port2=6380 #redis3的服务器地址 服务端口 redis.host3=192.168.0.106 redis.port3=6381 #redis4的服务器地址 服务端口 redis.host4=192.168.0.106 redis.port4=6382 #redis5的服务器地址 服务端口 redis.host5=192.168.0.106 redis.port5=6383 #redis6的服务器地址 服务端口 redis.host6=192.168.0.106 redis.port6=6384 #密码 redis.pass=123456 #客户端超时时间单位是毫秒 redis.timeout=100000 #最大连接数 redis.maxTotal=1000 #最大空闲数 redis.maxIdle=10 #最大建立连接等待时间 redis.maxWaitMillis=1000 #指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个 redis.testOnBorrow=true
以上配置中redis服务器地址可以不用把6台redis服务器全部配置出来,因为现在是集群,你懂的。
2、添加application-redis.xml
<!-- jedis pool对象池配置 --> <bean name="genericObjectPoolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig" > <property name="maxWaitMillis" value="${redis.maxWaitMillis}" /> <property name="maxTotal" value="${redis.maxTotal}" /> <property name="minIdle" value="${redis.maxWaitMillis}" /> <property name="testOnBorrow" value="${redis.testOnBorrow}" /> </bean> <!-- 使用构造方法注入:public JedisCluster(Set<HostAndPort> nodes, int timeout, final GenericObjectPoolConfig poolConfig) --> <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg index="0"> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg type="java.lang.String" value="${redis.host1}" /> <constructor-arg type="int" value="${redis.port1}" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg type="java.lang.String" value="${redis.host2}" /> <constructor-arg type="int" value="${redis.port2}" /> </bean> </set> </constructor-arg> <constructor-arg index="1" value="15000" type="int"></constructor-arg> <constructor-arg index="2" ref="genericObjectPoolConfig"></constructor-arg> </bean>
3、在Spring文件中引入redis.xml
<!-- 引入redis属性配置文件 --> <import resource="applicationContext-redis.xml"/>
第三步:java应用中使用,下面给出一个小代码片段,大家看看就应该知道怎么用了:
@Service("redisCommandService") public class RedisCommandServiceImpl implements RedisCommandService { @Autowired public JedisCluster jedisCluster; @Override public String set(String key, Object value, int expire) throws Exception { try { String result = jedisCluster.set(key, JSON.toJSONString(value)); if (expire > 0) jedisCluster.expire(key, expire); return result; } catch (Exception e) { throw e; } }
好了,基本上完成上面三步后,你已经可以在java中使用JedisCluster操作redis集群了。
下一章将讨论redis常用的数据结构,以及如何根据你的系统设计Key-Value.
相关文章推荐
- Redis 对象
- Java + Redis3.0.2集群的应用(一)——Redis集群环境的搭建
- Linux下安装redis
- redis设计与实现电子书合集
- Redis 跳跃表的实现
- Redis 字典的实现(2)
- Redis命令学习-Transaction(事务)
- redis 工具类
- Yii2 使用十八 使用redis
- Redis命令学习-Pub/Sub(发布/订阅)
- 用Redis实现分布式锁
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
- 超强、超详细Redis数据库入门教程
- Redis安装
- redis 管道
- centos6.5 负载均衡(nginx) session共享(redis)
- redis事务详解
- spring+redis整合入门
- PHP使用redis
- Redis 事务