推荐
推荐
点击投放广告
完全免费的字体下载网站
魔趣吧站长

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

[复制链接]
查看: 74|回复: 0
发表于 2019-5-24 20:36:56 | 显示全部楼层 |阅读模式
Discuz!使用Redis缓存多站点分库和避免清空所有的数据的解决方案
Discuz!内存级缓存介绍! G. R8 \& M1 w. C; k% C3 u5 ?(w w w.m oqu 8.c om)
缓存层的引入是为了解决MYSQL自身对高并发处理的性能瓶颈,目前产品缓存层采用主流的Key-Value对形式,内存级的缓存产品很多,支持的内存优化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis 五种,优化系统将会依据当前服务器环境依次选用接口,单服务器环境中推荐使用APC,多服务器环境中推荐使用Redis或Memcache。; H/ O, J* ^) K+ [) u' g(w ww.m oqu8.c o  m)

0 ~. m' i& ?" i/ L* m现存问题说明
" i8 b; P4 W7 ~( i4 C7 d6 `" z有不少站长在一个服务器上安装多个站点,且同时使用Redis作为缓存过程中发现,当使用后台->全局->性能优化->内存优化->内存清理,会把redis缓存的全部站点的内容都清空。
; h: d, J7 ?5 @+ ?  o
' {, `, ]% j" C3 t: o) V6 ~2 X Discuz!使用Redis缓存多站点分库和避免清空所有的数据的解决方案 + o, o5 a: i- R& X( s: n8 s0 }(ww  w.m oqu  8.c om)
原来是因为Discuz!在实现的时候没用使用Redis的分库功能,全部站点的缓存都是放在db0中,好在Discuz!源码中已经做好了分库选择,只需要很少的改动进达到我们分库的要求了。
; F+ U; c  ^. V# N  `4 b+ Y8 [
; E) k* p/ n9 ]  l% P: T改进方案$ C; r2 l2 i& {" }5 m(ww w.m oq u8.c om)
具体实现如下:. @9 @4 Y8 G. u  t+ t% f(www.moqu8 .com)
1、修改文件config\config_global.php
- f, |+ d# N3 y在$_config['memory']['redis']['serializer'] = 1;下方增加一行
4 n* z0 v; {6 u$_config['memory']['redis']['db'] = 1;//这里可以填写0到15的数字,每个站点使用不同的,redis默认是16个库,也可以增加库0 [& l) O+ T8 V% w, a! B$ w(w ww.m oqu8.c o  m)
; `% e; @8 d+ h$ Z: G0 U- {(w w w.m oqu 8.c om)
2、修改文件source\class\memory\memory_driver_redis.php. j" B; a8 q5 h: m(w w w.m oq u8.c om)
在 @$this->obj->setOption(Redis::OPT_SERIALIZER, $config['serializer']); 下方加上一行2 J* {, v, X8 ~5 ]' i8 F(ww w.m oq u8.c om)
$this->select($config['db']);
; ^% C1 u! D6 K1 g; _  r; }% ]2 i! a. h2 a) W, V(www.m oqu8.c om)
3、将flushAll改成flushdb避免后台清理影响全部站点;- Z7 x' O, [7 s(ww w.m oq u8.c om)
function clear() {5 {7 _5 W/ v3 N' B3 B; }8 Z(ww w.m oq u8.c om)
    return $this->obj->flushAll();
; F! a# R8 q3 I2 r5 f" l}
; B! Y: p1 f$ i% {改成
* P% A- {# Y8 Z- t+ U7 b1 t* Tfunction clear() {
' l4 W( f7 _, x  u  \; {    return $this->obj->flushdb();3 _- K, U' x) S  e: ^(w w w.m oq u8.c om)
}" Q0 ^0 p3 T$ L# ~  ]+ G6 `* z(ww w.m oq u8.c om)
( F' w, X, F+ p(w w w.m oq u8.c om)

6 k5 @3 h! O, @
1 x9 _/ Q0 a( S7 I

魔趣吧版权声明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安全认证
|网站地图 安全运行天