网站大量收购闲置独家精品文档,联系QQ:2885784924

ecshop源码分析静态缓存.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ecshop源码分析静态缓存

static_caches缓存文件存放在ecshop/temp/static_caches下面 先来看缓存工作的2个主要函数,写缓存和读缓存。 该函数在ecshop/includes/lib_base.php 写缓存?? Php代码? /**? ?*?将结果写进缓存文件? ?*? ?*?@params??string??$cache_name?缓存文件的名字? ?*?@params??string??$caches??????????缓存的内容? ?*? ?*?@return? ?*/?? function?write_static_cache($cache_name,?$caches)?? {?? ????if?((DEBUG_MODE??2)?==?2)?? ????{?? ????????return?false;?? ????}?? //缓存的路径?? ????$cache_file_path?=?ROOT_PATH?.?/temp/static_caches/?.?$cache_name?.?.php;?? //缓存内容$content?? ????$content?=??php\r\n;?? ????$content?.=?\$data?=??.?var_export($caches,?true)?.?;\r\n;?? ????$content?.=??;?? //将内容写进缓存?? ????file_put_contents($cache_file_path,?$content,?LOCK_EX);?? }?? ? ?读缓存 Php代码? /**? ?*?读结果缓存文件? ?*? ?*?@params??string??$cache_name//缓存文件的名字? ?*? ?*?@return??array???$data? ?*/?? function?read_static_cache($cache_name)?? {?? ????if?((DEBUG_MODE??2)?==?2)?? ????{?? ????????return?false;?? ????}?? //注意这里的静态变量用法?? ????static?$result?=?array();?? //如果已经从缓存文件中读取了数据则直接返回结果?? ????if?(!emptyempty($result[$cache_name]))?? ????{?? ????????return?$result[$cache_name];?? ????}?? //缓存文件的路径?? ????$cache_file_path?=?ROOT_PATH?.?/temp/static_caches/?.?$cache_name?.?.php;?? //如果缓存文件存在就读取缓存?? ????if?(file_exists($cache_file_path))?? ????{?? ????????include_once($cache_file_path);?? ????????$result[$cache_name]?=?$data;?? ????????return?$result[$cache_name];?? ????}?? ????else?? ????{?? ????????return?false;?? ????}?? }?? 举一个ecshop中具体应用的例子来说明 ? ecshop/inlucdes/lib_goods.php function get_recommend_goods首页中展示的新品推荐、热卖商品、今日特价就是从这里来的 ? Php代码? /**? ?*?获得推荐商品? ?*? ?*?@access??public? ?*?@param???string??????$type???????推荐类型,可以是?best,?new,?hot? ?*?@return??array? ?*/?? //代码我省略了一些,主要说明与缓存相关的代码?? ?*/?? function?get_recommend_goods($type?=?,?$cats?=?)?? {?? ??/*?省略的代码。。。。*/?? ??/*读取缓存文件*/?? ??$data?=?read_static_cache(recommend_goods);?? ??if($data==false)?//如果缓存文件不存在?? ??{?? ??????/*从数据库中获取需要的数据*/?? ?????/*将从数据库中获取的数据写入到相应的缓存文件当中*/?? ??????write_static_cache(recommend_goods,?$goods_data);?? ??}el

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档