黑帽联盟

标题: 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代码认证
12.png

第二步:打开config/config_global.php文件,设置reids相关端口配置,其中requirepass是redis认证密码
13.png

以上两个步骤就可以了,但是如果需要用到后台的内存清理的话,就继续设置下面,也需要修改添加一些内容进去才可以,至于为什么,看下面的解释

打开discuz后台查看redis相关配置:全局》性能优化》内存优化
14.png


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,然后批量删除

15.png
                            (图1)

16.png
                            (图2)


最后我们也可以在服务器上登录redis,进行管理相关的key和value,如下图:查看所有keys
17.png


相关文章:nginx+php+mysql+redis+discuz搭建详细教程







欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5