快速业务通道

PHP缓存技术实现

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
@mkdir($cacheDir, 0755, true)) {

  throw new CacheException("Could not make cache directory");

  }

  }

  // 用include方式

  //return @file_put_contents($cacheFile, '

  return @file_put_contents($cacheFile, '' . serialize($value));

  }

  /**

  * 删除缓存变量

  *

  * @param string $key 缓存下标

  * @return Cache_File

  */

  public function delete($key) {

  if(emptyempty($key)) {

  throw new CacheException("Missing argument 1 for Cache_File::delete()");

  }

  $cacheFile = self::_getCacheFile($key);

  if(!@unlink($cacheFile)) {

  throw new CacheException("Cache file could not be deleted");

  }

  return $this;

  }

  /**

  * 缓存单元是否已经锁定

  *

  * @param string $key

  * @return bool

  */

  public function isLocked($key) {

  $cacheFile = self::_getCacheFile($key);

  clearstatcache();

  return file_exists($cacheFile . '.lock');

  }

  /**

  * 锁定

  *

  * @param string $key

  * @return Cache_File

  */

  public function lock($key) {

  $cacheFile = self::_getCacheFile($key);

  $cacheDir = dirname($cacheFile);

  if(!is_dir($cacheDir)) {

  if(!@mkdir($cacheDir, 0755, true)) {

  if(!is_dir($cacheDir)) {

  throw new CacheException("Could not make cache directory");

  }

  }

  }

  // 设定缓存锁文件的访问和修改时间

  @touch($cacheFile . '.lock');

  return $this;

  }

  /**

  * 解锁

  *

  * @param string $key

  * @return Cache_File

  */

  public function unlock($key) {

  $cacheFile = self::_getCacheFile($key);

  @unlink($cacheFile . '.lock');

  return

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号