您的位置:首页 > 数据库 > Redis

linux下的redis+spring集群整合(七)

2016-04-14 21:45 435 查看
其实这里只是简单的模拟了一下redis的集群,就是在两台linux下部署redis将其通过spring绑定到一起,简单的实现集群的效果。只需要修改下spring中的配置信息,将两台redis通过List存到shardedJedisPool中即可。

spring的配置:

<context:property-placeholder location="classpath:redis2.properties" />
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal"  value="${redis.pool.maxActive}" />
<property name="maxIdle"    value="${redis.pool.maxIdle}" />
<property name="maxWaitMillis"    value="${redis.pool.maxWait}" />
<property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
</bean>
<bean  id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool" >
<constructor-arg  index="0" ref="jedisPoolConfig" />
<constructor-arg index="1">
<list>
<bean class="redis.clients.jedis.JedisShardInfo">
<constructor-arg
index="0"
value="${redis.ip}" />
<constructor-arg
index="1"
value="${redis.port}"
type="int" />
</bean>
<bean class="redis.clients.jedis.JedisShardInfo">
<constructor-arg
index="0"
value="${redis.ip2}" />
<constructor-arg
index="1"
value="${redis.port}"
type="int" />
</bean>

</list>
</constructor-arg>
</bean>
</beans>


测试代码:

import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;


public class Test {

public static void main(String[] args) {
ApplicationContext app= new ClassPathXmlApplicationContext("spring.xml");
ShardedJedisPool pool=(ShardedJedisPool) app.getBean("shardedJedisPool");
ShardedJedis jedis = pool.getResource();
String keys = "name";
jedis.del(keys);
jedis.set(keys, "yjl");
String value = jedis.get(keys);
System.out.println(value);
pool.returnBrokenResource(jedis);//释放连接池

}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: