Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

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

[复制链接]
風若寒 发表于 2014-5-4 09:06:07 | 显示全部楼层 |阅读模式
缓存执行文件
  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];就会失效。


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

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-27 21:47 , Processed in 0.102062 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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