一文讲解Redis的内存淘汰和过期策略

Redis 报内存不足怎么处理?

Redis 内存不足有这么几种处理方式:

  • 修改配置文件 redis.conf 的 maxmemory 参数,增加 Redis 可用内存

  • 也可以通过命令 set maxmemory 动态设置内存上限

  • 修改内存淘汰策略,及时释放内存空间

  • 使用 Redis 集群模式,进行横向扩容。

Redis key 过期策略有哪些?

Redis 的 key 过期回收策略主要有两种:惰性删除和定期删除。

当某个键被访问时,如果发现它已经过期,Redis 会立即删除该键,俗称惰性删除。但这也意味着如果一个已过期的键从未被访问,它就不会被删除,会占用额外的内存空间。

那还有一种定期删除策略,即每隔一段时间,Redis 就会随机检查一些键是否过期,如果过期就删除。这种策略可以保证过期键及时被删除,但也会增加 Redis 的 CPU 消耗。

可以通过 config get hz 命令查看 Redis 内部定时任务的频率。

二哥的 Java 进阶之路:config get hz

结果显示 hz 的值为 "10",意味着 Redis 服务器每秒执行定时任务的频率是 10 次。可以通过 CONFIG SET hz 20 进行调整。

相关推荐
涤生大数据1 小时前
HBase协处理器深度解析:原理、实现与最佳实践
大数据·数据库·hbase
悠悠-我心1 小时前
docker 通过定时任务恢复MySQL数据库
数据库·mysql·docker
蔡蓝2 小时前
Mysql中索引的知识
数据库·mysql
枫叶20003 小时前
OceanBase数据库-学习笔记5-用户
数据库·笔记·学习·oceanbase
有被蠢哭到3 小时前
SQL面试之--明明建了索引为什么失效了?
数据库·sql·面试
ascarl20103 小时前
待验证---Oracle 19c 在 CentOS 7 上的快速安装部署指南
数据库·oracle·centos
backRoads4 小时前
MYSQL三大日志、隔离级别(MVCC+锁机制实现)
数据库·mysql
左直拳5 小时前
mysql community 8.0.23升级到8.0.42再到8.4.5
数据库·mysql·升级·8.0.42·8.4.5
laimaxgg5 小时前
MySQL表的约束
数据库·mysql
我不是秋秋5 小时前
MongoDB 操作全解析:从部署到安全控制的详细指南(含 emoji 趣味总结)
数据库·mongodb