JedisUtil再封装(基于连接池,简化代码)


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;
    }

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值