Java封装删除指定redis前缀key

渡星河
2023-04-13 / 0 评论 / 7 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年04月13日,已超过522天没有更新,若内容或图片失效,请留言反馈。

redis删除指定前缀key

无语了家人们,今天写项目想通过通配符删除redis缓存的key,没有用啊

我本来想使用命令 del wang* 去删除前缀是wang的可以,结果不可以啊

含泪封装一个删除指定前缀的key的java类


package com.galaxy.empvue.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.Set;

@Component
public class RedisUtils {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    public void deleteByPrefix(String prefix) {
        redisTemplate.execute((RedisCallback<Void>) connection -> {
            Set<byte[]> keys = connection.keys((prefix + "*").getBytes());
            assert keys != null;
            if (!keys.isEmpty()) {
                connection.del(keys.toArray(new byte[0][]));
            }
            return null;
        });
    }
}
直接自动装配到你要用的类就行了
-1

评论 (0)

取消