天天看点

Discuz!X/缓存机制和使用方法

discuz!x的缓存支持五种缓存方式,其优先度分别为:memcache,eaccelerator,xcache,file,sql。前三种 是使用第三方的缓存,服务器环境得自己单独配置,只需要config_global.php里配置config memory一段就好了,关于这一部分的代码解读参考 discuzx1.5缓存系统流程 。

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

好了,现在来说说怎么使用缓存,如果一个网站有一些数据是不经常变动,但又使用频繁的,就可以用缓存了。比如论坛版块,栏目分类等。如果要增加一个新的缓存数据要怎么办呢?

1.要在\source\function\cache里增加一个缓存文件,定义数据的获得方式和内容。文件名和方法名按照规范来定义,会自动加入缓存机制,后台更新缓存时,都会自动执行,很容易就增加了一个新的数据缓存。

2.手动更新缓存和使用缓存呢,只需参考以下代码

Discuz!X/缓存机制和使用方法

//读缓存,如果没有更新的方法,就需要引入cache库  

require_once libfile('function/cache');  

//xxxx是你的缓存名  

updatecache('xxxx');  

//执行多个更新缓存  

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

//载入缓存  

loadcache('xxxx');  

//使用缓存  

print_r($_g['cache']['xxxx']);