redis一主多從的spring配置
<bean id="redisSentinelConfiguration" class="org.springframework.data.redis.connection.RedisSentinelConfiguration"> <property name="master"> <bean class="org.springframework.data.redis.connection.RedisNode"> <property name="name" value="mymaster"/> </bean> </property> <property name="sentinels"> <set> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="127.0.0.1"></constructor-arg> <constructor-arg name="port" value="26479"></constructor-arg> </bean> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="127.0.0.1"></constructor-arg> <constructor-arg name="port" value="26579"></constructor-arg> </bean> </set> </property> </bean> <bean id="jeidsConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <constructor-arg ref="redisSentinelConfiguration"/> </bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jeidsConnectionFactory"/> </bean>
public class RedisTest{ private ApplicationContext context ; private RedisTemplate redisTemplate; final String key ="key7"; @Before public void init(){ context = new ClassPathXmlApplicationContext("applicationContext.xml"); redisTemplate= context.getBean("redisTemplate",RedisTemplate.class); } @Test public void test1(){ redisTemplate.execute(new RedisCallback() { @Override public Long doInRedis(RedisConnection redisConnection) throws DataAccessException { redisConnection.set(key.getBytes(),(System.currentTimeMillis()+"").getBytes()); return 1L; } }); } @Test public void test2(){ Object execute = redisTemplate.execute(new RedisCallback() { @Override public Object doInRedis(RedisConnection redisConnection) throws DataAccessException { return redisConnection.get(key.getBytes()); } }); System.out.println(new String((byte[])execute)); }}