一文讲解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 进行调整。

相关推荐
ADFVBM19 分钟前
MySQL自启动失败(MySQL不能开机自启)解决方案_MySQL开机自启疑难杂症解决,适用Win11Win10
数据库·mysql
一只专注api接口开发的技术猿30 分钟前
电商API接口设计:商品、订单与支付模块的微服务拆分实践
大数据·前端·数据库·微服务·云原生·架构
如意机反光镜裸1 小时前
一键导出数据库表到Excel
数据库·excel·导出
IT_狂奔者1 小时前
Redis Lua Script 溢出漏洞(CVE-2024-31449)
数据库·redis·lua
weixin_307779131 小时前
Python Pandas带多组参数和标签的Oracle数据库批量数据导出程序
数据库·python·oracle·pandas
心 -1 小时前
MySQL事务
数据库·mysql
吴晓斌kobe1 小时前
Java中的缓存技术:Guava Cache vs Caffeine vs Redis
java·redis·缓存·guava·caffeine
Y编程小白2 小时前
MySQL的锁机制和锁算法
数据库·mysql
沙漏无语2 小时前
windows安装MongoDB
数据库·mongodb
朝阳392 小时前
mongodb【实用教程】
数据库·mongodb