问题描述:
网站后台–工具–网站健康–状态 出现以下提示内容:“Redis uses the noeviction policy Redis is configured to use the noeviction policy, which might crash your site when Redis runs out of memory. Setting a reasonable MaxTTL (maximum time-to-live) helps to reduce that risk.”
问题来源:WP插件-Redis Object Cache Pro
问题分析:
该问题是由于Redis使用了noeviction
策略,当内存不足时可能会导致站点崩溃。noeviction
策略的特点是不允许Redis删除任何键,这意味着当内存耗尽时,任何新的写操作都会失败,从而可能导致站点问题。
这是警告信息而非报错信息,如果网站负载不高或者服务器内存充足的情况不会影响网站的正常运行。
要解决这个问题,可以按照以下步骤调整Redis的配置:
解决方法:
- 修改Redis配置文件:
- 登录到服务器,找到Redis的配置文件,通常位于
/etc/redis/redis.conf
。 - 搜索
maxmemory-policy
,并将其值从noeviction
修改为其他策略,例如allkeys-lru
(最近最少使用淘汰策略)。maxmemory-policy allkeys-lru
(如果在使用宝塔面板,可以在 软件商店–Redis–设置–配置文件里修改
,把maxmemory-policy
noeviction
改为allkeys-lru
并且将前面的井号删除,然后保存并重启Redis,如下图所示) - 如果希望限制内存使用,确保同时设置
maxmemory
值,例如:maxmemory 256mb
(如果在使用宝塔面板,可以在 软件商店–Redis–设置–性能调整里修改maxmemory
默认是0 表示无限制)
- 登录到服务器,找到Redis的配置文件,通常位于
- 为Redis键设置合理的TTL(过期时间):
- 在WordPress中,如果使用Redis Object Cache Pro插件,可以确保缓存的对象有明确的TTL。可以在插件的设置中检查是否有配置项用于设置
MaxTTL
,并将其设置为合理的值,例如3600秒(1小时)。(对于Redis Object Cache Pro 插件,要在wp-config.php文件中修改)
- 在WordPress中,如果使用Redis Object Cache Pro插件,可以确保缓存的对象有明确的TTL。可以在插件的设置中检查是否有配置项用于设置
- 重新启动Redis:
- 修改配置文件后,重启Redis服务以使更改生效:
sudo systemctl restart redis
- 修改配置文件后,重启Redis服务以使更改生效:
- 验证配置:
- 使用以下命令检查Redis的当前配置:
redis-cli CONFIG GET maxmemory-policy redis-cli CONFIG GET maxmemory
- 确保
maxmemory-policy
已经从noeviction
更改为其他策略。
- 使用以下命令检查Redis的当前配置:
- 监控Redis内存使用:
- 定期监控Redis的内存使用情况,可以使用
redis-cli info memory
查看内存状态,确保配置的内存足够支持站点运行。
- 定期监控Redis的内存使用情况,可以使用
推荐策略说明:
allkeys-lru
:当内存不足时,从所有键中淘汰最近最少使用的键。volatile-lru
:只从设置了过期时间的键中淘汰最近最少使用的键。allkeys-random
:随机淘汰键。volatile-random
:只从设置了过期时间的键中随机淘汰。
注意事项:
- 如果站点的Redis内存需求较高,应考虑增加服务器内存。
- 对于Redis Object Cache Pro插件,可以参考插件的官方文档,了解如何最佳地配置缓存策略和TTL。
完成以上步骤后,站点应该能够更好地避免因Redis内存耗尽而导致的崩溃问题。如有进一步疑问,可以在下方评论区反馈沟通!
声明:1、本站大部分资源均为网络采集所得,仅供用来学习研究,请于下载后的24h内自行删除,正式商用请购买正版。2、所有汉化类文件和个别标注了“原创”的产品均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。3、如若本站内容侵犯了原著者的合法权益,请携带相关版权文件联系我们进行下架或删除。4、虚拟下载类资源具有可复制性,一经下载后本站有权拒绝退款或更换其他商品!
评论0 注意:评论区不审核也不处理售后问题!如有售后问题请前往用户中心提交工单以详细说明!