返回列表 发帖
查看: 1699|回复: 1

DISCUZ X2.5/X3/X3.1 SESSION机制优化扩展 1.0.1beta版

56

主题

1455

回帖

3万

积分

管理员

贡献
2072 点
金币
1383 个
发表于 2022-4-20 15:28:35 | 显示全部楼层 |阅读模式
大型站点在现有的session机制下很多会出现session的表锁问题,由于对session的操作在updatesession方法中,无论游客或是会员访问每个页面的时候都会有读写操作,在3.0版本中后台提供了关闭session的方法,但是用户在线时间的统计也随之停止了。为了解决这个问题,我们开发了此扩展,把session表实现到redis中,用来避免各类性能问题。

基本原理:
在redis中实现session表类的全部接口,并把统计数据等操作通过驻守进程来完成。

适应场景:
网站浏览量巨大,session表频繁出现锁表问题。

服务器要求:
1,独立服务器。
2,安装了redis和phpredis。

操作步骤:
1,安装对应版本框架,https://www.dismall.com/thread-12045-1-1.html
2,安装redis,phpredis,然后修改配置文件中的redis部分,使之填写正确。关于redis和phpredis的安装可以参照该贴:https://www.dismall.com/thread-12046-1-1.html
3,上传session的包,切换到bin目录,执行nohup php bin_session_cron.php &
4,去redis客户端用这个hgetall sR:status,只要数据不都为0说明已经生效了


注意事项:
1,论坛默认的内存方案优先级,mc>redis>其他,对于大数据集mc性能高于redis所以我们建议mc和redis共存,如果之前使用mc,在安装redis后在config中配置后即可,而如果使用了其他内存方案,在启用redis后会自动关闭其他内存方案,所以我们建议再安装mc并配置好。
2,其中的bin_session_cron作为驻守进程在后台运行不能间断,所以我们建议大家参考帖子:[url=https://www.dismall.com/thread-12045-1-1.html[/url]最后方的开机启动配置方案进行配置。


附件: upload_session1.0.1.zip (3.93 KB, 下载次数: 74)
回复

使用道具 举报

285

主题

1179

回帖

1568

积分

已臻大成

贡献
3 点
金币
0 个
发表于 2022-4-20 15:52:07 来自手机 | 显示全部楼层
看标题还以为是坟贴,看了下时间居然发现是新的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 15:45 , Processed in 0.039945 second(s), 8 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

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