接口:
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Tuple;
/**
* @version V1.0
* @Description: redis使用
*/
public interface JedisClient {
String set(String key, String value);
String get(String key);
Boolean exists(String key);
Long expire(String key, int seconds);
Long ttl(String key);
Long incr(String key);
Long hset(String key, String field, String value);
String hget(String key, String field);
Long hdel(String key, String... field);
Boolean hexists(String key, String field);
List<String> hvals(String key);
Long del(String key);
/*获取hash所有key*/
Map<String, String> hgetAll(String key);
/*hash存储对象*/
String hmset(String key, Map<String, String> map);
/*zset存储*/
Long zadd(String key, double score, String member);
/*zset倒序*/
Set<String> zrevrangeByScore(String key, double max,double min,
int offset, int count);
/*zset做自增操作,正数为增,负数为减*/
Double zincrby(String key, double score,String member);
/*zset查看所有成员*/
Long zcard(String key);
/*zset刪除指定成员*/
Long zrem(String key, String... member);
/*zset刪除范围内成员(下标)*/
Long zremrangeByRank(String key, long start, long end);
/*zset查询指定成员是否存在*/
Long zrank(String key, String member);
/*zset倒序查询并且输出分数*/
Set<Tuple> zrangeWithScores(String key, long start, long end);
/*zset并集*/
Long zunionstore(String dstkey, String... sets);
}
单机redis实现类:
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.Tuple;
public class JedisClientPool implements JedisClient, Serializable {
/**
* @version V1.0
* @Description: redis使用
*/
private static final long serialVersionUID = 1L;
private JedisPool jedisPool;
public JedisPool getJedisPool() {
return jedisPool;
}
public void setJedisPool(JedisPool jedisPool) {
this.jedisPool = jedisPool;
}
@Override
public String set(String key, String value) {
Jedis jedis = jedisPool.getResource();
String result = jedis.set(key, value);
jedis.close();
return result;
}
@Override
public String get(String key) {
Jedis jedis = jedisPool.getResource();
String result = jedis.get(key);
jedis.close();
return result;
}
@Override
public Boolean exists(String key) {
Jedis jedis = jedisPool.getResource();
Boolean result = jedis.exists(key);
jedis.close();
return result;
}
@Override
public Long expire(String key, int seconds) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.expire(key, seconds);
jedis.close();
return result;
}
@Override
public Long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
jedis.close();
return result;
}
@Override
public Long incr(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.incr(key);
jedis.close();
return result;
}
@Override
public Long hset(String key, String field, String value) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hset(key, field, value);
jedis.close();
return result;
}
@Override
public String hget(String key, String field) {
Jedis jedis = jedisPool.getResource();
String result = jedis.hget(key, field);
jedis.close();
return result;
}
@Override
public Long hdel(String key, String... field) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hdel(key, field);
jedis.close();
return result;
}
@Override
public Boolean hexists(String key, String field) {
Jedis jedis = jedisPool.getResource();
Boolean result = jedis.hexists(key, field);
jedis.close();
return result;
}
@Override
public List<String> hvals(String key) {
Jedis jedis = jedisPool.getResource();
List<String> result = jedis.hvals(key);
jedis.close();
return result;
}
@Override
public Long del(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.del(key);
jedis.close();
return result;
}
@Override
public Map<String, String> hgetAll(String key) {
Jedis jedis = jedisPool.getResource();
Map<String, String> result = jedis.hgetAll(key);
return result;
}
@Override
public String hmset(String key, Map<String, String> map) {
Jedis jedis = jedisPool.getResource();
String s = jedis.hmset(key, map);
return s;
}
@Override
public Long zadd(String key, double score, String member) {
Jedis jedis = jedisPool.getResource();
return jedis.zadd(key, score, member);
}
@Override
public Set<String> zrevrangeByScore(String key, double max, double min, int offset, int count) {
Jedis jedis = jedisPool.getResource();
return jedis.zrevrangeByScore(key, max, min, offset, count);
}
@Override
public Double zincrby(String key, double score, String member) {
Jedis jedis = jedisPool.getResource();
return jedis.zincrby(key, score, member);
}
@Override
public Long zcard(String key) {
Jedis jedis = jedisPool.getResource();
return jedis.zcard(key);
}
@Override
public Long zrem(String key, String... member) {
Jedis jedis = jedisPool.getResource();
return jedis.zrem(key, member);
}
@Override
public Long zremrangeByRank(String key, long start, long end) {
Jedis jedis = jedisPool.getResource();
return jedis.zremrangeByRank(key, start, end);
}
@Override
public Long zrank(String key, String member) {
Jedis jedis = jedisPool.getResource();
return jedis.zrank(key, member);
}
@Override
public Set<Tuple> zrangeWithScores(String key, long start, long end) {
Jedis jedis = jedisPool.getResource();
return jedis.zrangeWithScores(key, start, end);
}
@Override
public Long zunionstore(String dstkey, String... sets) {
Jedis jedis = jedisPool.getResource();
return jedis.zunionstore(dstkey, sets);
}
}
redis集群实现类:
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Tuple;
public class JedisClientCluster implements JedisClient, Serializable {
/**
* @version V1.0
* @Description: redis使用
*/
private static final long serialVersionUID = 1L;
private JedisCluster jedisCluster;
public JedisCluster getJedisCluster() {
return jedisCluster;
}
public void setJedisCluster(JedisCluster jedisCluster) {
this.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 Boolean exists(String key) {
return jedisCluster.exists(key);
}
@Override
public Long expire(String key, int seconds) {
return jedisCluster.expire(key, seconds);
}
@Override
public Long ttl(String key) {
return jedisCluster.ttl(key);
}
@Override
public Long incr(String key) {
return jedisCluster.incr(key);
}
@Override
public Long hset(String key, String field, String value) {
return jedisCluster.hset(key, field, value);
}
@Override
public String hget(String key, String field) {
return jedisCluster.hget(key, field);
}
@Override
public Long hdel(String key, String... field) {
return jedisCluster.hdel(key, field);
}
@Override
public Boolean hexists(String key, String field) {
return jedisCluster.hexists(key, field);
}
@Override
public List<String> hvals(String key) {
return jedisCluster.hvals(key);
}
@Override
public Long del(String key) {
return jedisCluster.del(key);
}
/*获取hash下key对应得filed value*/
public Map<String, String> hgetAll(String key) {
return jedisCluster.hgetAll(key);
}
/*hash存储对象*/
public String hmset(String key, Map<String, String> map) {
String s = jedisCluster.hmset(key, map);
return s;
}
/*zset存储对象*/
public Long zadd(String key, double score, String member) {
return jedisCluster.zadd(key, score, member);
}
/*zset倒序 +inf -inf limit 0,2*/
public Set<String> zrevrangeByScore(String key, double max,double min,
int offset, int count){
return jedisCluster.zrevrangeByScore(key, max, min, offset, count);
}
/*zset做增加或减小操作*/
public Double zincrby(final String key, final double score, final String member) {
return jedisCluster.zincrby(key, score, member);
}
/*zset查看所有用户*/
public Long zcard(String key) {
return jedisCluster.zcard(key);
}
@Override
public Long zrem(String key, String... member) {
return jedisCluster.zrem(key, member);
}
@Override
public Long zremrangeByRank(String key, long start, long end) {
return jedisCluster.zremrangeByRank(key, start, end);
}
@Override
public Long zrank(String key, String member) {
return jedisCluster.zrank(key, member);
}
@Override
public Set<Tuple> zrangeWithScores(String key, long start, long end) {
return jedisCluster.zrangeWithScores(key, start, end);
}
@Override
public Long zunionstore(String dstkey, String... sets) {
return jedisCluster.zunionstore(dstkey, sets);
}
}