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+"个键");
}