1. 程式人生 > >redis單機版和叢集版工具類

redis單機版和叢集版工具類

單機版叢集版共同實現的介面

package com.hr.common.redis;

public interface JedisClient {

String set(String key ,String value);

String get(String key);

public Long hset(String key, String item, String value);

public String hget(String key, String item);

public Long incr(String key);

public Long decr(String key);

public Long expire(String key, int second);

public Long ttl(String key);

public Long hdel(String key, String item);

}
單機版
package com.hr.common.redis.impl;

import com.hr.common.redis.JedisClient;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
//單機版實現類
public class JedisClientSigle implements JedisClient{

private JedisPool jedisPool;

@Override
public String set(String key, String value) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    String result = jedis.set(key, value);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public String get(String key) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    String result = jedis.get(key);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public Long hset(String key, String item, String value) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    Long result = jedis.hset(key, item,value);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public String hget(String key, String item) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    String result = jedis.hget(key, item);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public Long incr(String key) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    Long result = jedis.incr(key);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public Long decr(String key) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    Long result = jedis.decr(key);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public Long expire(String key, int second) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    Long result = jedis.expire(key,second);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public Long ttl(String key) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    Long result = jedis.ttl(key);
    //釋放資源
    jedis.close();
    return result;
}

@Override
public Long hdel(String key, String item) {
    // 獲取jedis物件
    Jedis jedis = jedisPool.getResource();
    Long result = jedis.hdel(key,item);
    //釋放資源
    jedis.close();
    return result;
}

public JedisPool getJedisPool() {
    return jedisPool;
}

public void setJedisPool(JedisPool jedisPool) {
    this.jedisPool = jedisPool;
}

}
叢集版

package com.hr.common.redis.impl;

import com.hr.common.redis.JedisClient;

import redis.clients.jedis.JedisCluster;

public class JedisClientCluster implements JedisClient {

private JedisCluster jedisCluster;
@Override
public String set(String key, String value) {
    return jedisCluster.set(key, value);
}

@Override
public String get(String key) {
    return jedisCluster.get(key);
}

@Override
public Long hset(String key, String item, String value) {

    return jedisCluster.hset(key, item, value);
}

@Override
public String hget(String key, String item) {
    return jedisCluster.hget(key, item);
}

@Override
public Long incr(String key) {
    return jedisCluster.incr(key);
}

@Override
public Long decr(String key) {
    return jedisCluster.decr(key);
}

@Override
public Long expire(String key, int second) {

    return jedisCluster.expire(key, second);
}

@Override
public Long ttl(String key) {
    return jedisCluster.ttl(key);
}

@Override
public Long hdel(String key, String item) {
    return jedisCluster.hdel(key, item);
}

}