当前位置: 首页 > 编程笔记 >

php文件缓存类用法实例分析

魏鸿
2023-03-14
本文向大家介绍php文件缓存类用法实例分析,包括了php文件缓存类用法实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了php文件缓存类用法。分享给大家供大家参考。具体如下:

<?php
/**
 * 简单的文件缓存类
 *
 */
class XZCache{
 // default cache time one hour
 var $cache_time = 3600;
 // default cache dir
 var $cache_dir = './cache';
 public function __construct($cache_dir=null, $cache_time=null){
  $this->cache_dir = isset($cache_dir) ? $cache_dir : $this->cache_dir;
  $this->cache_time = isset($cache_time) ? $cache_time : $this->cache_time;
 }
 public function saveCache ($key, $value){
  if (is_dir($this->cache_dir)){
   $cache_file = $this->cache_dir . '/xzcache_' . md5($key);
   $timedif = @(time() - filemtime($cache_file));
   if ($timedif >= $this->cache_time) {
    // cached file is too old, create new
    $serialized = serialize($value);
    if ($f = @fopen($cache_file, 'w')) {
     fwrite ($f, $serialized, strlen($serialized));
     fclose($f);
    }
   }
   $result = 1;
  }else{
   echo "Error:dir is not exist.";
   $result = 0;
  }
  return $result;
 }
 /**
  * @return array 
  *   0 no cache
  *    1 cached
  *    2 overdue
  */
 public function getCache ($key) {
  $cache_file = $this->cache_dir . '/xzcache_' . md5($key);
  if (is_dir($this->cache_dir) && is_file($cache_file)) {
   $timedif = @(time() - filemtime($cache_file));
   if ($timedif >= $this->cache_time) {
    $result['cached'] = 2;
   }else{
    // cached file is fresh enough, return cached array
    $result['value'] = unserialize(file_get_contents($cache_file));
    $result['cached'] = 1;
   }
  }else {
   echo "Error:no cache";
   $result['cached'] = 0;
  }
  return $result;
 }
} //end of class

用法示例如下:

$cache = new XZCache();
$key = 'global';
$value = $GLOBALS;
$cache->saveCache($key, $value);
$result = $cache->getCache($key);
var_dump($result);

希望本文所述对大家的php程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP文件缓存类示例分享,包括了PHP文件缓存类示例分享的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍简单实用的网站PHP缓存类实例,包括了简单实用的网站PHP缓存类实例的使用技巧和注意事项,需要的朋友参考一下 缓存技术在实际使用当中应用非常广泛,可以有效减轻对服务器数据库的访问压力,提高运行速度。目前很多CMS内容管理系统中频繁使用缓存机制来提高系统运行的效率。本文以一个简单实用的缓存类为例,帮助大家参考下缓存的机制与写法。 缓存文件cache.php代码如下: 缓存类的使用:

  • 本文向大家介绍php静态文件生成类实例分析,包括了php静态文件生成类实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php静态文件生成类。分享给大家供大家参考。 具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍PHP基于文件存储实现缓存的方法,包括了PHP基于文件存储实现缓存的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于文件存储实现缓存的方法。分享给大家供大家参考。具体如下: 在一些数据库数据记录较大,但是服务器有限的时候,可能一条MySQL查询就会好几百毫秒,一个简单的页面一般也有十几条查询,这个时候也个页面加载下来基本要好几秒了,如果并发量高的话服务器基本就瘫

  • 本文向大家介绍PHP中opcode缓存简单用法分析,包括了PHP中opcode缓存简单用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP中opcode缓存简单用法。分享给大家供大家参考,具体如下: 1.什么是opcode 解释器分析代码之后,生成可以直接运行的中间代码,就称做操作码,opcode 2.解释器与编译器的区别 解释器是生成了中间代码后直接运行中间代码,运行时的控制权

  • 本文向大家介绍php中分页及SqlHelper类用法实例,包括了php中分页及SqlHelper类用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中分页及SqlHelper类用法。分享给大家供大家参考,具体如下: 文档目录结构如下: SqlHelper.php代码如下: Paging.php代码如下: paging-list-link.css代码如下: usePaging.p