黑帽联盟
标题:
discuz2.5版本配置文件中开启redis
[打印本页]
作者:
定位
时间:
2019-9-7 14:15
标题:
discuz2.5版本配置文件中开启redis
这里以discuz2.5版本为例,因为当redis设置了密码认证的时候,2.5版本默认是无法使用redis的,前提需要在配置文件里面添加认证的相关信息,2.5版本默认是没有密码验证的
第一步:修改redis的驱动文件:/
source/class/memory/memory_driver_redis.php文件,init方法进行auth代码认证
2019-9-7 14:09 上传
下载附件
(31.57 KB)
第二步:打开config/config_global.php文件,设置reids相关端口配置,其中requirepass是redis认证密码
2019-9-7 14:09 上传
下载附件
(39.81 KB)
以上两个步骤就可以了,但是如果需要用到后台的内存清理的话,就继续设置下面,也需要修改添加一些内容进去才可以,至于为什么,看下面的解释
打开discuz后台查看redis相关配置:全局》性能优化》内存优化
2019-9-7 14:09 上传
下载附件
(77.03 KB)
discuz后台内存优化中的内存清理优化
(1)上图中redis后边有个内存清理功能,此功能会将redis当前的数据库所有数据都清空,如果该redis服务器中还有其他应用的内存数据,也会清除掉,所以可以适当优化只将属于discuz的内存清理掉。
(2)内存清理优化逻辑:/source/class/discuz/discuz_memory.php是内存管理的相关操作类,其中有一个clear方法就是在内存清理掉时候调用的,然后会继续调用/source/class/memory/memory_driver_redis.php中的clear方法。
(3)我们优化的地方就是将discuz最初配置中的前缀作为标记,将该前缀的所有key批量删除,而不会将其他应用的key也清理掉。
(4)下图1是/source/class/discuz/discuz_memory.php中clear方法,传递一个前缀的参数;下图2是/source/class/memory/memory_driver_redis.php中的clear方法,先查询出所有该前缀的key,然后批量删除
2019-9-7 14:09 上传
下载附件
(32.46 KB)
(图1)
2019-9-7 14:09 上传
下载附件
(44.24 KB)
(图2)
最后我们也可以在服务器上登录redis,进行管理相关的key和value,如下图:查看所有keys
2019-9-7 14:14 上传
下载附件
(14.86 KB)
相关文章:
nginx+php+mysql+redis+discuz搭建详细教程
欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/)
Powered by Discuz! X2.5