全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 681|回复: 7
打印 上一主题 下一主题

dz7安装memcache的教程谁有?

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-19 13:22:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3.修改include/db_mysql.class.php中的fetch_array、query这两个方法,并添加query_mysql方法,代码如下:
function fetch_array($query, $result_type = MYSQL_ASSOC) {
return is_resource($query) ? mysql_fetch_array($query, $result_type) : $query[0];
}

function query_memcache($sql, $type = '') {
global $mem,$memcachelife;

$key = md5($sql);
if(!($query = $mem->get($key))) {
$query = $this->query($sql, $type);
while($item  = $this->fetch_array($query)) {
$res[] = $item;
}
$query = $res;
$mem->set($key, $query , 0, $memcachelife);
}
return $query;
}

function query($sql, $type = '') {
global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;

$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ?
'mysql_unbuffered_query' : 'mysql_query';
if(!($query = $func($sql, $this->link)) && $type != 'SILENT') {
$this->halt('MySQL Query Error', $sql);
}

if(substr($sql, 0, 6) == 'SELECT') {
echo '<font color="red">Cache SQL</font>:<font color="green">'.$sql.'</font><br /><br />';
} else {
echo '<font color="red">Flash SQL</font>:<font color="green">'.$sql.'</font><br /><br />';
}

$this->querynum++;
return $query;
}

4.将需要使用Memcache缓存的SQL查询的代码由
$db->query(

修改为
$db->query_memcache(

注意并将
while($post = $db->fetch_array($query)) {

修改为
foreach($query as $post) {

没有while的$db->fetch_array可以不用修改。
下面代码有用得着的就拿去:
preg_replace("/while\([$](\w+)\s*\=\s*[$]db->fetch_array\([$]query\)\)/is", "foreach(\$query as \$\\1)", $file);

回头放出个小工具批量替换下就可以了。
在EditPlus中可以这样替换:while\([$](.*) = [$]db->fetch_array\([$]query\)\)替换为foreach($query as $\1)
2#
 楼主| 发表于 2009-10-19 13:22:44 | 只看该作者
这一段实在没有看明白
3#
发表于 2009-10-19 13:34:30 | 只看该作者

回复 1# 的帖子

太麻烦了,而且能否行还不知道,phpwind倒是集成了。
4#
 楼主| 发表于 2009-10-19 13:53:30 | 只看该作者
恩 但是主论坛用这个
5#
发表于 2009-10-19 15:07:44 | 只看该作者

回复 4# 的帖子

所以我安装的memcache是摆设
6#
 楼主| 发表于 2009-10-19 15:18:48 | 只看该作者
dz正事不办~~~杂七杂八的东西好多
7#
发表于 2009-10-19 15:31:42 | 只看该作者

回复 6# 的帖子

呵呵,discuz要继续这么干的话我就不升级。
8#
 楼主| 发表于 2009-10-19 16:18:42 | 只看该作者
DZ不会这么简单就收手的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-2 06:18 , Processed in 0.056581 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表