基於Sentinel的Java客戶端操作Redis
阿新 • • 發佈:2019-01-24
在上篇文章中我們已經實現了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。