全球主机交流论坛

标题: dz7安装memcache的教程谁有? [打印本页]

作者: pigicoffee    时间: 2009-10-19 13:22
标题: dz7安装memcache的教程谁有?
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)
作者: pigicoffee    时间: 2009-10-19 13:22
这一段实在没有看明白
作者: cpuer    时间: 2009-10-19 13:34
标题: 回复 1# 的帖子
太麻烦了,而且能否行还不知道,phpwind倒是集成了。
作者: pigicoffee    时间: 2009-10-19 13:53
恩 但是主论坛用这个
作者: cpuer    时间: 2009-10-19 15:07
标题: 回复 4# 的帖子
所以我安装的memcache是摆设
作者: pigicoffee    时间: 2009-10-19 15:18
dz正事不办~~~杂七杂八的东西好多
作者: cpuer    时间: 2009-10-19 15:31
标题: 回复 6# 的帖子
呵呵,discuz要继续这么干的话我就不升级。
作者: pigicoffee    时间: 2009-10-19 16:18
DZ不会这么简单就收手的




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4