在上篇文章中我们已经实现了Redis基于Sentinel的主从切换了,那么我们怎么在Java程序中来使用呢,下面我就来简单的介绍一下。
首先我们需要引入java中操作redis的jar包,我项目是使用maven控制的,因此我在pom.xml中引入
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.0.2.RELEASE</version></dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> <type>jar</type> <scope>compile</scope></dependency>
例子如下:
package com.hiifit.cloudplatform.gaia.test;import java.util.HashSet;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisSentinelPool;public class RedisSentinelTest { @SuppressWarnings("deprecation") public static void main(String[] args) { Set<String> sentinels = new HashSet<String>(); String hostAndPort1 = "192.168.11.166:26379"; sentinels.add(hostAndPort1); String clusterName = "mymaster"; String password = "test"; JedisSentinelPool redisSentinelJedisPool = new JedisSentinelPool(clusterName,sentinels,password); Jedis jedis = null; try { jedis = redisSentinelJedisPool.getResource(); jedis.set("key", "value"); } catch (Exception e) { e.printStackTrace(); } finally { redisSentinelJedisPool.returnBrokenResource(jedis); } redisSentinelJedisPool.close(); }}
然后我们去165和166查看,登录 ./redis-cli -h 192.168.11.165 -p 20081 -a test,进入到客户端,
get key,看是不是打印出了value,这就说明已经存进去了,同理去166下面查看是不是也看到了value。
联系客服