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+"个键");
    }
相关推荐
csjane107911 小时前
Redis原理:rename命令
java·redis
Feng.Lee11 小时前
聊一聊缓存如何进行测试
功能测试·测试工具·缓存
小吴先生66613 小时前
Groovy 规则执行器,加载到缓存
java·开发语言·缓存·groovy
Chandler2417 小时前
Redis:内存淘汰原则,缓存击穿,缓存穿透,缓存雪崩
数据库·redis·缓存
❀͜͡傀儡师19 小时前
多台服务器上docker部署 Redis 集群
运维·服务器·redis
Foyo Designer20 小时前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的国际化:支持多语言的 RESTful API
java·spring boot·redis·后端·spring·缓存·restful
十六ᵛᵃᵉ20 小时前
day6_FlinkSQL实战
java·redis·ajax
嘉友20 小时前
Redis zset数据结构以及时间复杂度总结(源码)
数据结构·数据库·redis·后端
hweiyu0021 小时前
从JVM到分布式锁:高并发架构设计的六把密钥
jvm·redis·分布式·mysql·etcd
Unlimitedz1 天前
音乐缓存管理器的性能优化方法分析
缓存·性能优化