php缓存

缓存是指在通过一定的办法让相同的代码尽可能少的执行多遍。要实现这个代码级别可以通过页面缓存和数据缓存,数据库(mysql等)级别,服务器(nginx等)级别。我们讨论的是代码级别。

数据缓存从缓存方式上来说可以有文件缓存(即通过文件的方式来缓存)、内存缓存

文件缓存顾名思义就是把内容缓存到文件上,简单来说就是先把数据写到文件上使用的时候呢包含这个文件

/**
 * 快速文件数据读取和保存 针对简单类型数据 字符串、数组
 * @param string $name 缓存名称
 * @param mixed $value 缓存值
 * @param string $path 缓存路径
 * @return mixed
 */
function F($name, $value='') {
  $path = dirname(__FILE__).'/../tmp/';

  static $_cache  = array();
  $filename       = $path . $name . '.php';
  if ('' !== $value) {
    if (is_null($value)) {
      // 删除缓存
      return false !== strpos($name,'*')?array_map("unlink", glob($filename)):unlink($filename);
    } else {
      // 缓存数据
      $dir            =   dirname($filename);
      // 目录不存在则创建
      if (!is_dir($dir))
        mkdir($dir,0755,true);
      $_cache[$name]  =   $value;
      return file_put_contents($filename, trim("<?php\treturn " . var_export($value, true) . ";?>"));
    }
  }
  if (isset($_cache[$name]))
    return $_cache[$name];
  // 获取缓存数据
  if (is_file($filename)) {
    $value          =   include $filename;
    $_cache[$name]  =   $value;
  } else {
    $value          =   false;
  }
  return $value;
}

这个方法是从thinkphp里面扣出来的,用的时候修改下文件缓存目录才能使用。文件缓存有个不好的地方就是不能跨服务器,如果有多台服务器的话就不适合用这种方式。

memcache应该很多phper都知道,一种分布式内存对象缓存系统跨。最大的好处是跨服务器.下次详细介绍下如何安装使用。

页面缓存其实可以这样理解php生成html文件,那么服务器只要返回生成的html就好了,这样就减少了查询,计算的过程。实现方法

 

缓存就会涉及到一个缓存更新的操作。策略主要是三种,第一种是数据更新那么缓存更新,第二种是数据有过期时间时间过期则更新,最后是手动更新。这个都可以自己去实现。

 

本文固定链接: http://www.qaforcode.net/archives/746 | 猪哥每日一贴

该日志由 趴在树上的猪 于2013年02月28日发表在 php 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: php缓存 | 猪哥每日一贴
关键字: ,
【上一篇】
【下一篇】

php缓存:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter

浙公网安备 33010602001905号