Redis不同类型使用操作方法一文流(超级干货附带源码)

序言

将StringRedisTemplate引用到对应工具类

private StringRedisTemplate stringRedisTemplate;

    public RedisUtil(StringRedisTemplate stringRedisTemplate) {
        this.stringRedisTemplate = stringRedisTemplate;
    }

对应的工具类源文件已经上传

-------------common---------------

🔍根据key的前缀和结尾 生成redis-key

    /**
     * hash 根据key的前缀和结尾 生成redis-key
     * @param preKey  预先key
     * @param endKey  结尾key
     * @param buketNum 分桶数
     * @return   redis-key
     */
    public static String getkey(String preKey,String endKey,int buketNum){
        return preKey+endKey.hashCode()/buketNum;
    }

🔍元素的hash 拆分组装redis-key

    /**
     * 元素的hash 拆分组装redis-key
     * @param preKey key前缀
     * @param endKey 元素 hash拆分key
     * @return  redis-key
     */
    public static String getkey(String preKey,String endKey){
        return getkey(preKey,endKey,100);
    }

🔍指定缓存失效时间

    /**
     * 指定缓存失效时间
     * @param key  键
     * @param time 时间(秒)
     */
    public boolean expire(String key, long time) {
        if (time > 0) {
            stringRedisTemplate.expire(key, time, TimeUnit.SECONDS);
        }
        return true;
    }

🔍根据redis-key 获取过期时间

    /**
     * 根据key 获取过期时间
     * @param key 键 不能为null
     * @return 时间(秒) 返回0代表为永久有效
     */
    public long getExpire(String key) {
        return stringRedisTemplate.getExpire(key, TimeUnit.SECONDS);
    }

🔍判断redis-key是否存在

    /**
     * 判断key是否存在
     * @param key 键
     * @return true 存在 false不存在
     */
    public boolean hasKey(String key) {
        return stringRedisTemplate.hasKey(key);
    }

🔍删除redis缓存(支持多选)

    /**
     * 删除缓存
     * @param key 可以传一个值 或多个
     */
    @SuppressWarnings("unchecked")
    public void delete(String... key) {
        if (key != null && key.length > 0) {
            if (key.length == 1) {
                stringRedisTemplate.delete(key[0]);
            } else {
                stringRedisTemplate.delete((Collection<String>) CollectionUtils.arrayToList(key));
            }
        }
    }

-------------String---------------

🔍根据string类型普通缓存获取

  /**
     * 普通缓存获取
     * @param key 键
     * @return 值
     */
    public String get(String key) {
        return key == null ? null : stringRedisTemplate.opsForValue().get(key);
    }

🔍获取多个key的值


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆企鹅仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值