找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7482|回复: 0

想求助一下DZ缓存原理的问题

[复制链接]
发表于 2014-5-3 16:27:11 | 显示全部楼层 |阅读模式
缓存执行文件
  1. if (!is_array($_G['cache']['nhzj_shop_shopbanner'])) {
  2. nhzjupdatecache('menu');
  3. }
  4. $shopbanner_list = nhzjloadcache('shopbanner');
复制代码

缓存存储
  1. function nhzjupdatecache($cachename) {
  2. $shopbanner = C::t('#nhzj_shop#shop_nav')->fetch_all_by_upid();
  3. save_syscache('nhzj_shop_shopbanner', $shopbanner);
  4. }
复制代码

缓存调用
  1. function nhzjloadcache($cachename) {
  2. global $_G;
  3. if(!isset($_G['cache']['nhzj_shop_'.$cachename])) {
  4. loadcache('nhzj_shop_'.$cachename);
  5. }
  6. $cache = &$_G['cache']['nhzj_shop_'.$cachename];
  7. return $cache;
  8. }
复制代码


缓存的原理就是在第一次读取时,把数据存储在缓存里面,下一次不需要读取数据库。
所以,loadcache('nhzj_shop_'.$cachename);在第二次可以不执行的。
为什么我的不执行$cache = &$_G['cache']['nhzj_shop_'.$cachename];就会失效。


我的代码上,在哪里有问题么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Discuz代码分析|Discuz目录结构|DZ起点网 ( 蜀ICP备13000518号-15 )

GMT+8, 2024-12-24 22:07 , Processed in 0.046071 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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