pymysql数据库使用教程_[建站教程]Discuz使用redis缓存时如何指定数据库?

38270d46d7140b87a96b1381eb23c1ea.png

在我们使用redis作为discuz的缓存时,体验到了速度的提升。但是,当我们有两个以上的网站都使用同一个redis server开启缓存时,就存在冲突了,因为默认的情况下,discuz使用第一个库,也就是redis的db0作为数据存储的库的。

我们只需要做简单的改造就可以优雅的解决这个问题,开始:

1、增加配置项:

打开:config/config_global.php在$_config['memory']['redis']['serializer'] = 1;的下一行添加一行:$_config['memory']['redis']['db'] = 1; 其中1就是你选的DB编号了。

bea9c50f1cd7e0c44e4b35c11ecb5c65.png

2.修改代码文件,让discuz支持db参数:
打开source/class/memory/memory_driver_redis.php:找到$this->obj->setOption(Redis::OPT_SERIALIZER, $config['serializer']);在下一行增加DB选择的代码:

$this->select($config['db']);

6ca024ff8c3a27c9f0cb9e72b22d280c.png

3.找到clear()函数,把flushAll操作改为flushDb操作,因为我们的redis不是专门给一个网站用的,flushAll是把redis全部数据都清了(flushdb是把本db清了),这段代码是谁写的,我也是服了。。。

321403bdb9c515e7046bd712c4d063ad.png

到这里就算是大功告成了。看下效果:

191adb5277b9589fbb1a87ce9632e1fc.png

嗯,都写到规定的数据库里了,哎呀,干净了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值