魔趣吧官方商城
广告招租
点击投放广告
完全免费的字体下载网站
魔趣吧站长

[discuz建站技术] Discuz!使用Redis缓存多站点分库和避免清空所有的数据的解决方案

[复制链接]
查看: 123|回复: 0
发表于 2019-5-24 20:36:56 | 显示全部楼层 |阅读模式
Discuz!内存级缓存介绍2 ?  W; b  k9 q' h) k# S! N(ww  w.m oqu  8.c om)
缓存层的引入是为了解决MYSQL自身对高并发处理的性能瓶颈,目前产品缓存层采用主流的Key-Value对形式,内存级的缓存产品很多,支持的内存优化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis 五种,优化系统将会依据当前服务器环境依次选用接口,单服务器环境中推荐使用APC,多服务器环境中推荐使用Redis或Memcache。
5 M) L( Q4 f3 v: |" q! }7 K, z
3 ]  E$ H7 L# W* `现存问题说明
* j. x  n8 A3 F! d有不少站长在一个服务器上安装多个站点,且同时使用Redis作为缓存过程中发现,当使用后台->全局->性能优化->内存优化->内存清理,会把redis缓存的全部站点的内容都清空。# T# H' v1 c( a/ _0 D, Z$ G(w ww.m oqu8.c om)

/ y1 k8 K5 n+ s& c5 _' n Discuz!使用Redis缓存多站点分库和避免清空所有的数据的解决方案
7 B3 Y6 f; u5 o; u原来是因为Discuz!在实现的时候没用使用Redis的分库功能,全部站点的缓存都是放在db0中,好在Discuz!源码中已经做好了分库选择,只需要很少的改动进达到我们分库的要求了。; y: o7 o# y+ V" j(w w w.m oq u8.c om)
6 V- M& |1 p( _2 h1 b7 ~(www.m oqu8.c om)
改进方案7 K. m. X' d" k- I(www.m oqu8.c om)
具体实现如下:/ ~" B( q) s2 A. \(w ww.m oqu8.c o  m)
1、修改文件config\config_global.php  T7 M1 F  n) Y* @! \(www.m oqu8.c om)
在$_config['memory']['redis']['serializer'] = 1;下方增加一行/ L8 v4 v3 N& j6 ^7 K1 P(www.moqu8 .com)
$_config['memory']['redis']['db'] = 1;//这里可以填写0到15的数字,每个站点使用不同的,redis默认是16个库,也可以增加库
; @5 ]* {3 I0 m. E4 M& |* @' u: M) h0 a- O1 L) d(www.moqu8 .com)
2、修改文件source\class\memory\memory_driver_redis.php
/ @0 b# A5 w2 w8 P# g  R) K( }在 @$this->obj->setOption(Redis::OPT_SERIALIZER, $config['serializer']); 下方加上一行$ a# k8 t; ]2 s! k. S3 Z5 [(www.m oqu8.c om)
$this->select($config['db']);. I) h) p2 h9 q8 u. U0 m5 b" h(w ww.m oqu8.c o  m)

7 T8 q$ ^' y" h8 b7 ]1 Q7 R5 o3 l3、将flushAll改成flushdb避免后台清理影响全部站点;9 r7 c( Z$ O4 Y8 A(w ww.m oqu8.c om)
function clear() {. u, b5 d, ~8 z4 [  v+ n) n3 B  n# R7 W(ww w.m oq u8.c om)
    return $this->obj->flushAll();
" t5 r( x* q7 h9 i) F; b1 Y" F8 V}
( T: ], r  j' _# V1 @改成
$ k5 n4 X( `1 Q4 Mfunction clear() {( k  e' v# x# m8 D6 u. j(www.moqu8 .com)
    return $this->obj->flushdb();. B7 Q  A' s- C7 m, D8 Q(w ww.m oqu8.c o  m)
}4 r& `8 Z* B% i(w ww.mo qu8.com)

2 Z2 h1 ]6 Q9 R; p" R# k1 F: k" V/ a9 u+ K, q( r" Q* h" w(ww w.m oq u8.c om)

( b: {9 m4 m4 C: R

魔趣吧版权声明1,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2,本文内容仅代表作者本人观点,不代表本网站立场,作者文责自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3,本文内容,包括但不限于源码、文字、图片等,仅供参考使用,本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容
4,如您认为本文内容侵犯了您的权益,请与我们联系!我们将在5个工作日内做出处理!本站保留全部修改、解释、更新本声明的权利魔趣吧

魔趣吧,全网领先的建站资源下载基地!Discuz模板、Discuz插件、素材、特效,源码,建站,就上魔趣吧!! 【通告】近期发现部分竞争网站和小人诋毁抹黑魔趣吧,对此,我们只有一句话,事实胜于雄辩!!用心为站长服务,魔趣吧不怕任何邪门歪道!【魔趣吧唯一官方网站https://www.moqu8.com,请谨防假冒网站!】
回复

使用道具 举报/反馈

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

本版积分规则

快速回复 返回列表
魔趣吧在线客服
关闭
欢迎来到魔趣吧
如果你有建站技术问题、仿站需求、模板插件修改需求,请联系我们的技术支持!高效率,低价格的帮你搞定!
请认准魔趣吧唯一官网:www.moqu8.com,谨防假冒网站!
建站技术支持(收费)
资源互换/合作
魔趣吧在线客服
八月特惠,魔趣吧VIP限时大降价X

普惠站长,魔趣吧VIP限时大降价

一直以来,部分垃圾站长搭建的各种资源站,用各种恶心的手段和可怜的一点资源不断的敲诈新站长,魔趣吧也曾...

立即抢福利!
魔趣吧
做感动人心的好资源站

关于魔趣吧|魔趣建站

魔趣吧,志在打造全国最大的建站资源共享平台。 本站提供海量免费的建站资源,包括WordPress模板、Discuz精仿模板、PHPWind模板、phpcms模板、Discuz精仿插件、帝国cms模板、织梦模板等上万精品模板!同时,提供各种建站素材、JS特效、整站程序源码!
服务中文站长,传播分享精神!建站,就来魔趣吧!!
2015-2019  技术支持:魔趣吧 ( 豫ICP备15026783号-4 )  
HTTPS安全认证
|网站地图 安全运行天