import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class JedisUtil {
/**
* string类型
* @param key
* @param value
* @return
*/
public String set(String key, String value) {
Jedis jedis = RedisPool.getJedis();
String back = jedis.set(key, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 删除key对应的value
* @param key
* @return
*/
public Long del(String key) {
Jedis jedis = RedisPool.getJedis();
Long back = jedis.del(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 获取string类型
* @param key
* @return
*/
public String get(String key) {
Jedis jedis = RedisPool.getJedis();
String back = jedis.get(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。
* @param key
* @param seconds
* @param value
* @return
*/
public String setex(String key, int seconds, String value) {
Jedis jedis = RedisPool.getJedis();
String back = jedis.setex(key, seconds, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 返回哈希表 key 中,所有的域和值。
* 在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。
* @param key
* @return
*/
public Map<String, String> hgetAll(String key) {
Jedis jedis = RedisPool.getJedis();
Map<String, String> back = jedis.hgetAll(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将哈希表 key 中的域 field 的值设为 value 。
* 如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
* 如果域 field 已经存在于哈希表中,旧值将被覆盖。
* @param key
* @param field
* @param value
* @return
*/
public Long hset(String key, String field, String value) {
Jedis jedis = RedisPool.getJedis();
Long back = jedis.hset(key, field, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 返回哈希表 key 中给定域 field 的值。
* @param key
* @param field
* @return
*/
public String hget(String key, String field) {
Jedis jedis = RedisPool.getJedis();
String back = jedis.hget(key, field);
RedisPool.returnResource(jedis);
return back;
}
/**
* 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
* @param key
* @param field
* @return
*/
public long hdel(String key, String field) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.hdel(key, field);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将一个或多个值 value 插入到列表 key 的表头
* @param key
* @param value
* @return
*/
public Long lpush(String key, String... value) {
Jedis jedis = RedisPool.getJedis();
Long back = jedis.lpush(key, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将一个或多个值 value 插入到列表 key 的表尾
* @param key
* @param value
* @return
*/
public long rpush(String key, String... value) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.rpush(key, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 通过下标替换元素的内容
* @param key
* @param index
* @param value
* @return
*/
public String lset(String key, long index, String value) {
Jedis jedis = RedisPool.getJedis();
String back = jedis.lset(key, index, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 移除有序集合lsit中的参数
* 0所有
*
* @param key
* @param count
* @param value
* @return
*/
public long lrem(String key, long count, String value) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.lrem(key, count, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 返回列表 key 的长度。
* 如果 key 不存在,则 key 被解释为一个空列表,返回 0 .
* 如果 key 不是列表类型,返回一个错误。
* @param key
* @return
*/
public Long llen(String key) {
Jedis jedis = RedisPool.getJedis();
Long back = jedis.llen(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 返回列表 key 中指定区间内的元素
* -1 表示列表的最后一个元素
* @param key
* @param start
* @param end
* @return
*/
public List<String> lrange(String key, int start, int end) {
Jedis jedis = RedisPool.getJedis();
List<String> back = jedis.lrange(key, start, end);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将 key 中储存的数字值增一
* @param key
* @return
*/
public long incr(String key) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.incr(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将 key 中储存的数字值减一。
* @param key
* @return
*/
public long decr(String key) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.decr(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
* @param key
* @param seconds
* @return
*/
public long expire(String key, int seconds) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.expire(key, seconds);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
* @param key
* @param value
* @return
*/
public long sadd(String key, String value) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.sadd(key, value);
RedisPool.returnResource(jedis);
return back;
}
/**
* 检查给定 key 是否存在。
* @param key
* @return
*/
public boolean exists(String key) {
Jedis jedis = RedisPool.getJedis();
boolean back = jedis.exists(key);
RedisPool.returnResource(jedis);
return back;
}
/**
* 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
* @param key
* @param score
* @param member
* @return
*/
public double zadd(String key, double score, String member) {
Jedis jedis = RedisPool.getJedis();
double back = jedis.zadd(key, score, member);
RedisPool.returnResource(jedis);
return back;
}
/**
* 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
* @param key
* @param min
* @param max
* @return
*/
public Set<String> getZrangeByScore(String key, String min, String max) {
Jedis jedis = RedisPool.getJedis();
Set<String> back = jedis.zrangeByScore(key, min, max);
RedisPool.returnResource(jedis);
return back;
}
/**
* 移除有序系列中的指定范围
* @param key
* @param start
* @param end
* @return
*/
public long delZremrangeByScore(String key, String start, String end) {
Jedis jedis = RedisPool.getJedis();
long back = jedis.zremrangeByScore(key, start, end);
RedisPool.returnResource(jedis);
return back;
}
/**
* 有序集合
* 根据分数降序排列
* @param key
* @param max
* @param min
* @return
*/
public Set<String> getZrevrangeByScore(String key, String max, String min) {
Jedis jedis = RedisPool.getJedis();
Set<String> back = jedis.zrevrangeByScore(key, max, min);
RedisPool.returnResource(jedis);
return back;
}
/**
* 有序集合
* score增加或减少值
* @param key
* @param score
* @param member
* @return
*/
public Double setZincrby(String key, double score, String member) {
Jedis jedis = RedisPool.getJedis();
double back = jedis.zincrby(key, score, member);
RedisPool.returnResource(jedis);
return back;
}
/**
* 有序集合
* 降序排列
* @param key
* @param start
* @param end
* @return
*/
public Set<String> getZrevrange(String key, long start, long end) {
Jedis jedis = RedisPool.getJedis();
Set<String> back = jedis.zrevrange(key, start, end);
RedisPool.returnResource(jedis);
return back;
}
}
JedisUtil再封装(基于连接池,简化代码)
最新推荐文章于 2022-11-28 17:56:26 发布