redis單機版和叢集版工具類
阿新 • • 發佈:2018-12-09
單機版叢集版共同實現的介面
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); }
}