java 操作redis集群信息

首先要在pom里引入如下的依赖



    redis.clients
    jedis
    2.9.0

下面的就是源码:

import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
public class Redis {

    private JedisCluster jedisCluster;

    public Redis(String redisString)
    {
        String[] hostArray = redisString.split(",");
        Set nodes = new HashSet();

        //配置redis集群
        for(String host : hostArray)
        {
            String[] detail = host.split(":");
            nodes.add( new HostAndPort(detail[0] , Integer.parseInt(detail[1])) );
        }

        //jedisCluster = new JedisCluster(nodes);
        jedisCluster = new JedisCluster(nodes, 1000, 1000, 1, "saic-pass", new GenericObjectPoolConfig());

    }

    /**
     * 获取redis中指定key的值,value类型为String的使用此方法
     */
    public String get(String key)
    {
        return jedisCluster.get(key);
    }

    /**
     * 设置redis中指定key的值,value类型为String的使用此方法
     */
    public void set(String key,String value)
    {
        jedisCluster.set(key,value);
    }

    /**
     * 获取redis中指定key的值,对应的value,value类型为MAP的使用此方法
     */
    public Map getMap(String key)
    {
        return jedisCluster.hgetAll(key);
    }

    /**
     * 删除redis中指定key的值项
     */
    public void del(String key)
    {
        jedisCluster.del(key);
    }

}

    @Test
    public void get() {
    String redisString = "ip1:端口1,ip2:端口2";

        Redis redis = new Redis(redisString);
        Map map= redis.getMap("key");
        System.out.println(map);
    }

 

你可能感兴趣的:(java)