1. 程式人生 > >基於Sentinel的Java客戶端操作Redis

基於Sentinel的Java客戶端操作Redis

在上篇文章中我們已經實現了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。