redis 过期与清理

redis 键过期了是不是就不用清理了?

答案:基本上是。

在Redis中,当一个键过期时,它会被自动标记为"已过期",但并不意味着它会立即从内存中移除。Redis处理过期键的方式有两种主要机制:惰性删除与定期删除,这两种机制结合使用,既保证了大部分过期键能够及时得到清理,又避免了因频繁扫描所有键而导致的性能问题。

那么是否需要手动清理?

答案:除非键过期时间设置不合理,或者迫于并发压力需要手动清理。

手动清理方法:

java 复制代码
    private int _clearBuffs(String pattern){
        int rows=0;
        Collection<String> keys=redisService.keys(pattern);
        for(String key:keys){
            redisService.deleteObject(key);
            rows++;
        }
        return  rows;
    }


    @PostMapping("/clearActiveBuffs")
    @ApiOperation(value = "清除活跃统计缓存",notes = "")
    public JsonResult clearActiveBuffs() throws Exception {
        int rows=_clearBuffs("active:*");
        return  toJRAjaxData("清除成功共!"+rows+"个键");
    }
相关推荐
mengzhi啊3 小时前
缓存类CacheDataManager把临时数据存入json。做成插件·
qt·缓存·json
彧azz5 小时前
Redis 全面指南:从核心概念到高可用架构实战
数据库·redis·架构
香菜TTT7 小时前
Redis的哨兵机制
java·数据库·redis
小lu飞7 小时前
DeepSeek Flash 降价的技术账本:缓存友好型定价如何改写推理成本结构
缓存
hweiyu009 小时前
Redis命令:APPEND
redis·缓存
敲代码的嘎仔9 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
MetaLite13 小时前
Spring Cache只留注解-MetaLite如何二开缓存运行时
java·spring·缓存
wdfk_prog14 小时前
lely-canopen-rtt:为什么推荐在 RT-Thread 上使用 Lely CANopen 构建主站
java·运维·缓存·docker·容器
莫得感情 o15 小时前
Redis 12 · 缓存一致性:数据库与缓存双写怎么不乱
redis·缓存
吃饱了得干活16 小时前
Spring Boot + Redis 分布式锁:一个订单重复提交引发的六次迭代
java·redis·后端