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

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

[复制链接]
查看: 319|回复: 0
发表于 2019-5-24 20:36:56 | 显示全部楼层 |阅读模式
Discuz!内存级缓存介绍
  S8 p% i7 ^0 b8 j$ F2 k缓存层的引入是为了解决MYSQL自身对高并发处理的性能瓶颈,目前产品缓存层采用主流的Key-Value对形式,内存级的缓存产品很多,支持的内存优化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis 五种,优化系统将会依据当前服务器环境依次选用接口,单服务器环境中推荐使用APC,多服务器环境中推荐使用Redis或Memcache。! P! G' q7 n! Y- j: F' M(w w w.m oq u8.c om)
6 f" ?7 f3 j+ G6 {(ww w.m oq u8.c om)
现存问题说明8 {( d- W+ p% w% p: T( l(www.moqu8 .com)
有不少站长在一个服务器上安装多个站点,且同时使用Redis作为缓存过程中发现,当使用后台->全局->性能优化->内存优化->内存清理,会把redis缓存的全部站点的内容都清空。# J; @: g8 ^. J4 P: E(w ww.mo qu8.com)

1 e! t( R; A# t' M  ~+ ~5 x Discuz!使用Redis缓存多站点分库和避免清空所有的数据的解决方案 4 N6 R! a1 z1 U4 s) d1 h(www.moqu8 .com)
原来是因为Discuz!在实现的时候没用使用Redis的分库功能,全部站点的缓存都是放在db0中,好在Discuz!源码中已经做好了分库选择,只需要很少的改动进达到我们分库的要求了。
6 ?, ~/ A/ V8 B2 G" P% i( V$ V3 J# l  g; O. U(www.m oqu8.c om)
改进方案( v2 Y8 T, j, d(w ww.m oqu8.c o  m)
具体实现如下:. r7 m4 F  W, R1 C) K  N8 p(ww w.m oq u8.c om)
1、修改文件config\config_global.php
5 M, h( N" a% c3 z在$_config['memory']['redis']['serializer'] = 1;下方增加一行
3 f0 B( d& i; m; {# a7 c6 X$ F2 w$_config['memory']['redis']['db'] = 1;//这里可以填写0到15的数字,每个站点使用不同的,redis默认是16个库,也可以增加库
7 z" l) i. k2 E8 ^! B$ }8 P6 ]  ^. c2 L/ O% C(www.m oqu8.c om)
2、修改文件source\class\memory\memory_driver_redis.php
6 x1 h7 ~5 _9 _4 m9 v* S  Y在 @$this->obj->setOption(Redis::OPT_SERIALIZER, $config['serializer']); 下方加上一行
+ Y& i/ `+ Y' G! d! y  V) k$this->select($config['db']);  ^9 p7 H. I2 }8 v8 t/ N6 t(w ww.m oqu8.c om)

6 B1 C, r& H, w0 I7 s: d( r/ M3、将flushAll改成flushdb避免后台清理影响全部站点;
/ P* W' `5 A- U9 Pfunction clear() {
, J0 u( [1 j6 [8 \, `( W* }8 q    return $this->obj->flushAll();* c7 `* h6 z% i(w w w.m oqu 8.c om)
}! S2 m: k5 J' h: C5 [8 |4 P(w ww.m oqu8.c o  m)
改成% U: {9 Y& j5 C7 N; a: C(w ww.mo qu8.com)
function clear() {
0 @; x  p$ f( C6 K% o0 U    return $this->obj->flushdb();
3 P1 X/ X8 b, Y& y- L2 q, n& H- Z}
4 k. b" [, Z+ T/ q' y5 P1 j' m6 w(ww w.m oq u8.c om)

" u' e: C  g" X: x9 I& u: Y. k4 C, A: T. {! K. G4 }(w ww.m oqu8.c om)

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

魔趣吧,全网领先的建站资源下载基地!Discuz模板、Discuz插件、素材、特效,源码,建站,就上魔趣吧!!
魔趣吧唯一官方网站:https://www.moqu8.com,唯一官方客服QQ:1218894030,请谨防假冒网站和骗子冒充本站!
回复

使用道具 举报/反馈

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

本版积分规则

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

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

普惠站长,助力站长!魔趣吧VIP限时大降价,限时活动,不容错过!...

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

关于魔趣吧|魔趣建站

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