启动项目时清空SpringCache在Redis生成的缓存

在开发项目中,因为没有明确进行设计,所以经常会碰到需要修改表,从而导致需要修改实体类的情况,所以在序列化上常常会出现问题。

所以我在开发的时候,需要在启动项目时候就清空缓存

定义一个缓存公用的前缀

public static final String CACHE_KEY_PREFIX = "CACHE:";

让一个类实现CommandLineRunner

这个接口会让你实现一个run方法,方法会在项目初始化完成后立即执行,也是我们清空缓存最佳的时候。

run方法中清空以缓存公用前缀为前缀的缓存

      String pattern = CACHE_KEY_PREFIX + "*";
        RedisConnection connection = redisTemplate
                .getConnectionFactory().getConnection();

        Set<byte[]> caches = connection.keys(pattern.getBytes());
        if(!caches.isEmpty()){
            connection.del(caches.toArray(new byte[][]{}));
        }

使用KEYS命令,搜索以CACHE:开头的缓存,然后再调用DEL方法删除,便可以清空Spring Cache生成的缓存了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值