返回列表 发帖
查看: 1035|回复: 9

[已解决] 升级X3.5后每天要手动Redis内存清理,否则提示门户和论坛关闭

5

主题

39

回帖

50

积分

应用开发者

贡献
0 点
金币
3 个
发表于 2023-1-6 11:36:10 | 显示全部楼层 |阅读模式
从X3.4升级到3.5后出现了一个奇怪的现象,就是每天得手工清理 性能优化-内存优化-Redis内存清理,不然凌晨3:30后(这个时间非常精确,每天都是这样),前台提示门户和论坛关闭(实际上并没有关闭),并且输出Array字样,页面样式都错乱了。这时只要登录后台进行内存优化-内存清理,或者直接 redis-cli FLUSHALL一下,网站即恢复正常。
我看了nginx日志、系统日志、redis日志都没有发现错误原因。重新安装了最新版redis,问题依旧。如果内存接口改成file模式,则不出现这个问题。
实在找不到原因所在,请问一下官方,这到底是怎么回事?有没有解决的办法?
001.png
nginx错误日志,可以看到3:30后门户和论坛都打不开,并且请求访问array的样式之类。
002.png
Redis日志,可以看到3:30左右并没有报错。
004.png

这是3:30后的网站页面

1 贡献+1 金币

最佳答案

https://toscode.gitee.com/Discuz/DiscuzX/issues/I4500S
回复

使用道具 举报

5

主题

39

回帖

50

积分

应用开发者

贡献
0 点
金币
3 个
 楼主| 发表于 2023-1-6 13:13:04 | 显示全部楼层
我仔细对比了关于redis的相关文件,发现相对于3.4来说,3.5进行了较大的改动。
1、3.5的memory_driver_redis.php和3.4的memory_driver_redis.php代码行数不同,3.5的有293行,3.4的有188行。但代码头一致,没标明改动时间,感觉不是很恰当。
2、3.5的source\class\memory文件夹下,多了memory_common_session.php、memory_setting_array.php这2个文件,3.4没有。

由于技术水平有限,没有仔细研究代码逻辑,不知道是不是3.5的程序瑕疵,麻烦官方检测一下,谢谢。
回复 支持 反对

使用道具 举报

18

主题

4014

回帖

7375

积分

应用开发者

贡献
362 点
金币
1397 个
QQ
发表于 2023-1-6 16:30:13 | 显示全部楼层
3.5对redis进行了大幅度的优化升级,但进行多个站点测试并无你描述的情况出现,建议检查自己的redis配置
回复 支持 反对

使用道具 举报

12

主题

88

回帖

175

积分

渐入佳境

贡献
5 点
金币
34 个
发表于 2023-1-6 17:14:04 | 显示全部楼层
开启redis 我的也是提示论坛功能已关闭 页面不显示    
回复 支持 反对

使用道具 举报

5

主题

39

回帖

50

积分

应用开发者

贡献
0 点
金币
3 个
 楼主| 发表于 2023-1-7 00:41:30 | 显示全部楼层
尼玛。。。我终于知道这个问题是怎么回事了,终于解决了,啊啊啊,搞了好几天啊。。。。
首先说答案:这个问题貌似与dz无关,与redis配置无关,与nginx无关,与php无关。。。。
具体是这样的:我之前自己写了一个计划任务php,用于每天在网站根目录生成网站sitemap。这个计划任务定在3:30执行,是centos的系统计划任务,不是dz里面的计划任务。
然后我测试发现,只要系统执行了这个计划任务,马上就出现门户和论坛假关闭的情况,页面输出array字样。
然后我仔细分析了那个计划任务的php代码,发现里面除了生成sitemap文件之外,在当时在编码时,为了看到效果,用了echo输出一些字符。正是因为这些echo输出,导致redis出了错,最终造成了前面的后果。把里面的echo输出代码删除掉,计划任务再运行,就一切正常了。
但接下来又有新问题了:echo输出在3.4里面正常,为啥3.5里面就出错了呢?可能是redis读取数据的方式改变了造成的。反正通过这个操作,问题已经解决了。
回复 支持 4 反对 0

使用道具 举报

4

主题

22

回帖

48

积分

初学乍练

贡献
0 点
金币
21 个
发表于 2023-1-7 08:23:31 | 显示全部楼层
问题解决后,回来回复了原因,帮助到其他站长,给楼主点赞
回复 支持 反对

使用道具 举报

12

主题

88

回帖

175

积分

渐入佳境

贡献
5 点
金币
34 个
发表于 2023-1-7 09:27:21 | 显示全部楼层
玩慈利网 发表于 2023-1-7 00:41
尼玛。。。我终于知道这个问题是怎么回事了,终于解决了,啊啊啊,搞了好几天啊。。。。
首先说答案:这个 ...

我的没这个计划任务 情况不同
回复 支持 0 反对 1

使用道具 举报

12

主题

88

回帖

175

积分

渐入佳境

贡献
5 点
金币
34 个
发表于 2023-1-7 12:06:22 来自手机 | 显示全部楼层
https://toscode.gitee.com/Discuz/DiscuzX/issues/I4500S
回复 支持 反对

使用道具 举报

5

主题

39

回帖

50

积分

应用开发者

贡献
0 点
金币
3 个
 楼主| 发表于 2023-1-7 20:49:49 | 显示全部楼层
根据我的使用情况来看,我觉得3.5的redis驱动文件还有进一步优化的空间。因为之前3.4能正常运行的
回复 支持 反对

使用道具 举报

12

主题

88

回帖

175

积分

渐入佳境

贡献
5 点
金币
34 个
发表于 2023-1-8 00:02:32 | 显示全部楼层
玩慈利网 发表于 2023-1-7 20:49
根据我的使用情况来看,我觉得3.5的redis驱动文件还有进一步优化的空间。因为之前3.4能正常运行的 ...

不折腾了  没法用 开启redis  就提示门户和论坛关闭  3.4的时候是正常的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-15 00:57 , Processed in 0.060124 second(s), 10 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表