redis 的常用方法使用

本文介绍了一个用于操作Redis数据库的Java实现类。该类提供了多种方法来处理Redis中的数据,包括向列表添加元素、从列表中移除并获取指定数量的元素、设置字符串值及其过期时间、获取字符串值等。此外,还详细展示了如何配置Jedis连接池。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@Component(value = "redisManage")
public class RedisManageImpl implements RedisManage {
    private static final ILog logger= LogFactory.getLog(RedisManageImpl.class);

    private static JedisPool redisDb2;

    static {
        JedisPool redisDb2 = new JedisPool(getJediPoolConfig(), RRTRedisConfig.getRedisHost(),
                RRTRedisConfig.getRedisPort(), RRTRedisConfig.getRedisTimeout(),
                RRTRedisConfig.getRedisPassword(), RRTRedisConfig.getRedisDb());
        RedisManageImpl.redisDb2 = redisDb2;
    }

    private static JedisPoolConfig getJediPoolConfig(){
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(RRTRedisConfig.getRedisCfgMaxtotal());
        config.setMaxIdle(RRTRedisConfig.getRedisCfgMaxidle());
        config.setMaxWaitMillis(RRTRedisConfig.getRedisCfgMaxWaiteMillies());
        config.setTestOnReturn(true);
        return config;
    }

    @Override
    public void pushList(String key, String value) {
        Jedis jedis = null;
        try {
            jedis = redisDb2.getResource();
            jedis.rpush(key, value);
        }catch (Exception e){
            logger.error("redis 出错;", e);
        }finally {
            if(jedis != null) {
                jedis.close();
            }
        }
    }

    @Override
    public List<String> popList(String key, int num) {
        Jedis jedis = null;
        List<String> stringList = null;
        String value = null;
        try {
            jedis = redisDb2.getResource();
            stringList = new ArrayList<>();
            for (int i = 0; i < num; i++){
                value = jedis.lpop(key);
                if(value == null){
                    return stringList;
                }
                stringList.add(value);
            }
        }catch (Exception e){
            logger.error("redis出错;", e);
        }finally {
            if(jedis != null) {
                jedis.close();
            }
        }
        return stringList;
    }

    @Override
    public void pushString(String key, String value, int expire) {
        Jedis jedis = null;
        try {
            jedis = redisDb2.getResource();
            jedis.set(key, value);
            jedis.expire(key, expire);
        }catch (Exception e){
            logger.error("redis 出错;", e);
        }finally {
            if(jedis != null) {
                jedis.close();
            }
        }
    }

    @Override
    public String getStr(String key) {
        Jedis jedis = null;
        String value = "";
        try {
            jedis = redisDb2.getResource();
            value = jedis.get(key);
        }catch (Exception e){
            logger.error("redis 出错;", e);
        }finally {
            if(jedis != null) {
                jedis.close();
            }
        }
        return value;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值