转载本文请保留作者信息,违者必究
作者:覃学涵(http://www.3sys.cn/)
Email:qinxuehan@126.com
如何让discuz支持千万级别的数据和大用户量访问呢?答案是使用memcached优化。本文讨论DISCUZ论坛使用memcached优化的解决方案。作者使用的discuz版本是7.0, 7.0之后的优化方法本文没有做介绍,可以参考本文,举一反三。
思路:
1.无需修改全站的代码,只对DISCUZ的MYSQL的数据库操作类修改,支持MEMCACHED。
2.有MEMCACHED总开关,需要的时候打开MEMCACHED缓存,访问量不大时,关闭MEMCACHED缓存。
3.为不影响用户体验,用户登录的时候关闭MEMCACHED缓存,不登录的用户访问,开启memcached缓存。
4.memcached开启可以防洪,应付大规模的DDOS攻击。
步骤一、安装memcached.
安装方法 参考本文作者,我写的文章,网址:
http://blog.csdn.net/IeSneaker/archive/2010/07/21/5753264.aspx
步骤二、修改discuz的配置文件
修改根目录下的config.inc.php,增加如下代码
步骤三、修改discuz数据库操作类
修改include/db_mysql.class.php文件,作者这里贴出这个类修改后的完整代码。
步骤四、修改common.inc.php
修改include/common.inc.php文件,增加用户是否登录的判断,然后根据用户是否登录,开启memcached缓存。
在文件中找到下面这几行
在下面增加下面几行,作用是:据用户是否登录,开启memcached缓存
转载本文请保留作者信息,违者必究
作者:覃学涵(http://www.3sys.cn/)
Email:qinxuehan@126.com