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.手动更新缓存和使用缓存呢,只需参考以下代码
- //读缓存,如果没有更新的方法,就需要引入cache库
- require_once libfile('function/cache');
- //xxxx是你的缓存名
- updatecache('xxxx');
- //执行多个更新缓存
- updatecache(array('xxxx','yyyy'));
- //载入缓存
- loadcache('xxxx');
- //使用缓存
- print_r($_G['cache']['xxxx']);