基于Sentinel的Java客户端操作Redis

在上篇文章中我们已经实现了Redis基于Sentinel的主从切换了,那么我们怎么在java程序中来使用呢,下面我就来简单的介绍一下。

首先我们需要引入java中操作redis的jar包,我项目是使用maven控制的,因此我在pom.xml中引入

<dependency>
    <groupId>org.springframework.datagroupId>
    <artifactId>spring-data-redisartifactId>
    <version>1.0.2.RELEASEversion>
dependency>

<dependency>
    <groupId>redis.clientsgroupId>
    <artifactId>jedisartifactId>
    <version>2.7.2version>
    <type>jartype>
    <scope>compilescope>
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 sentinels = new HashSet();
        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。

你可能感兴趣的:(java,redis,maven,Redis)