欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > cms使用教程 > discuz使用教程 >

discuz教程:缓存更新,缓存读取,缓存加载开发完整实例

发布时间:2017-12-27  编辑:杨雨个人博客网站   点击:   

今天分享一个discuz 二次开发 discuz x 缓存更新,缓存读取,缓存加载开发完整实例.

discuz x 缓存机制,可能大家不太了解。我也不了解,才去研究,然后分享成功结果给大家,希望大家在开发中加快速度。

Discuz!X的缓存支持五种缓存方式,

其优先度分别为:memcache,eaccelerator,xcache,file,sql。

前三种是使用第三方的缓存,服务器环境得自己单独配置,只需要config_global.php里配置CONFIG MEMORY一段就好了,


最后的两种是原生支持的,需要config_global.php里配置CONFIG CACHE一段,个人感觉sql的会好一些,因为用的是内存缓存,但不方便查看和开发调试,file是文件缓存,好处是可以随时打开看看,调试方便。


好了,现在来说说怎么使用缓存,如果一个网站有一些数据是不经常变动,但又使用频繁的,就可以用缓存了。

比如论坛版块,栏目分类等。如果要增加一个新的缓存数据要怎么办呢?

比如我要开发一个功能[记录QQ号码的],然后需要缓存号码总数。

需要以下过程实现缓存:

1.新建缓存文件为 source\function\cache\cache_qq.php

<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: cache_click.php 24403 2011-09-16 12:32:45Z zhengqingpeng $
 */

if(!defined('IN_DISCUZ')) {
 exit('Access Denied');
}

function build_cache_qq() {
 $data = $keys = array();
$query = DB::query("SELECT * FROM iqqol_online");
    while($r=DB::fetch($query)){
  $data[]=$r;
 }
savecache('qq', $data);
}

?>

缓存函数名要和文件名 qq 一置,后台会自动生成缓存的。

discuz qq函数缓存文件写好了。

2.下面我们通过我们开发的discuz 外挂加载缓存

/*加载缓存文件*/
require_once libfile('function/cache');

/*加载缓存名称*/
loadcache('qq');

/*打印缓存结果*/
print_r($_G['cache']['qq']);

,好,缓存加载读取完成了。

如何自动更新缓存呢?

updatecache('qq');

//执行多个更新缓存

updatecache(array('xxxx','yyyy')); 

这样就实现了缓存自动加载,自动更新,读取方法。可能写得不够详细。今天就分享到这里。

杨雨个人博客温馨提示:你正在使用discuz系统建站吗?那来杨雨个人博客的 discuz论坛 频道看看吧,我们制作了很多模板供大家下载哦!

本文地址:http://itbyc.com/cms/discuz/18710.html
转载请注明出处。
分享是一种快乐,也是一种美德:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1