Jedis操作API

4 篇文章 0 订阅

Redis越来越常用,是不是还不了解一些常用方法,是不是在处理业务需求时,想不到一些简便方法,赶紧来看看文章吧。废话不多说,上代码!方法没写那么全,后续慢慢完善。

package com.redistest;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.junit.Before;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;

public class CacheManager {

    private Jedis jedis;

    @Before
    public void init() {
        this.jedis = new Jedis(new JedisShardInfo("redis IP地址", 6379));
    }

    public String get(final String key) {
        return jedis.get(key);
    }

    public String set(final String key, final String value, final int expire) {
        String ret = jedis.set(key, value);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public String set(final String key, final byte[] value, final int expire) {
        String ret = jedis.set(key.getBytes(), value);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public byte[] getByte(final String key) {
        byte[] obj = jedis.get(key.getBytes());
        return obj;
    }

    public List<String> mget(final String... keys) {
        List<String> list = jedis.mget(keys);
        return list;
    }

    public String mset(final String... keyValues) {
        String result = jedis.mset(keyValues);
        return result;
    }

    public Long incr(final String key, final int expire) {
        Long ret = jedis.incr(key);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public Long incrby(String key, int decrement, int expire) {
        Long ret = jedis.incrBy(key, decrement);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public Long decr(final String key, final int expire) {
        if (jedis.exists(key)) {
            Long ret = jedis.decr(key);
            if (expire > 0) {
                jedis.expire(key, expire);
            }
            return ret;
        }
        return null;
    }

    public Long del(final String... keys) {
        Long ret = jedis.del(keys);
        return ret;
    }

    public List<String> lrange(final String key) {
        return lrange(key, 0, -1);
    }

    public List<String> lrange(final String key, final int start, final int end) {
        List<String> list = jedis.lrange(key, start, end);
        return list;

    }

    public long lpush(final int expire, final String key, final String... values) {
        long ret = 0L;
        ret = jedis.lpush(key, values);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public void rpush(final int expire, final String key, final String... values) {
        jedis.rpush(key, values);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
    }

    public void lrem(final String key, final String value) {
        lrem(key, 0, value);
    }

    public void lrem(final String key, final int count, final String value) {
        jedis.lrem(key, 0, value);
    }

    /**
     * smembers key 返回集合 key中的所有成员。 不存在的 key被视为空集合。
     */
    public Set<String> smembers(final String key) {
        Set<String> obj = jedis.smembers(key);
        return obj;
    }

    /**
     * sadd key member [member ...] 将一个或多个 member元素加入到key 当中, 已经存在于集合的
     * member元素将被忽略.假如 key不存在,则创建一个包含 member元素作成员的集合
     */
    public long sadd(final String key, final String[] value, final int expire) {
        long ret = 0L;
        ret = jedis.sadd(key, value);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public long sadd(final String key, final String value, final int expire) {
        return sadd(key, new String[] { value }, expire);
    }

    /**
     * srem key member [member ...] 移除集合 key中的一个或多个 member元素,不存在的 member元素会被忽略。
     * 当 key不是集合类型,返回一个错误
     */
    public long srem(final String key, final String... value) {
        long ret = 0L;
        ret = jedis.srem(key, value);
        return ret;
    }

    /**
     * sdiff key[key ...]返回一个集合的全部成员,该集合是所有给定集合之间的差集。不存在的 key被视为空集
     */
    public Set<String> sdiff(final String... keys) {
        Set<String> obj = jedis.sdiff(keys);
        return obj;
    }

    /**
     * srandmember key [count] 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。 从 Redis 2.6
     * 版本开始, SRANDMEMBER 命令接受可选的 count 参数:如果 count 为正数,且小于集合基数,那么命令返回一个包含 count
     * 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。 如果 count
     * 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值.该操作和 spop相似,但 spop
     * 将随机元素从集合中移除并返回,而 srandmember则仅仅返回随机元素,而不对集合进行任何改动
     */
    public List<String> srandmember(String key, int count) {
        List<String> obj = jedis.srandmember(key, count);
        return obj;
    }

    /**
     * scard key 返回集合 key的元素的数量
     */
    public Long scard(String key) {
        Long obj = jedis.scard(key);
        return obj;
    }

    /**
     * sismember key member 判断 member元素是否集合 key的成员。
     */
    public Boolean sismember(String key, String value) {
        Boolean obj = jedis.sismember(key, value);
        return obj;
    }

    public String hmset(final String key, final Map<String, String> map, final int expire) {
        String ret = jedis.hmset(key, map);
        if (expire > 0) {
            jedis.expire(key, expire);
        }
        return ret;
    }

    public Map<String, String> hgetAll(final String key) {
        return jedis.hgetAll(key);
    }

    public Set<String> zrevrangebyscore(final String key, final double max, final double min, final int offset,
            final int count) {
        Set<String> obj = jedis.zrevrangeByScore(key, max, min, offset, count);
        return obj;
    }

    public String hget(final String key, final String field) {
        return jedis.hget(key, field);
    }

    public Long hset(final String key, final String field, final String value) {
        return jedis.hset(key, field, value);
    }

    public Long hdel(final String key, final String... fields) {
        return jedis.hdel(key, fields);
    }

    public Set<String> getKeys(final String pattern) {
        return jedis.keys(pattern);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值