包 core

包 mvc

包 orm

包 form

包 database

包 helper

包 cache

包 webcontrols

包 behavior

包 exception

包 debug

类 - QCache_File

cache
类层次 class QCache_File
版本 $Id: file.php 2543 2009-06-07 07:07:00Z dualface $

QCache_File 类提供以文件系统来缓存数据的服务

保护的属性

隐藏继承的属性

属性类型描述定义于
$_enabled boolean 是否允许使用缓存 QCache_File
$_default_policy array 默认的缓存策略 QCache_File
$_static_head string 固定要写入缓存文件头部的内容 QCache_File
$_static_head_len int 固定头部的长度 QCache_File
$_head_len int 缓存文件头部长度 QCache_File

公共方法

隐藏继承的方法

方法描述定义于
__construct() 构造函数 QCache_File
set() 写入缓存 QCache_File
get() 读取缓存,失败或缓存撒失效时返回 false QCache_File
remove() 删除指定的缓存 QCache_File

保护的方法

隐藏继承的方法

方法描述定义于
_path() 确定缓存文件名,并创建需要的次级缓存目录 QCache_File
_policy() 返回有效的策略选项 QCache_File
_hash() 获得数据的校验码 QCache_File

属性详细说明

$_enabled 属性

是否允许使用缓存

$_default_policy 属性

默认的缓存策略

  • life_time: 缓存有效时间(秒),默认值 900

    如果设置为 0 表示缓存总是失效,设置为 null 则表示不检查缓存有效期。

  • serialize: 自动序列化数据后再写入缓存,默认为 true

    可以很方便的缓存 PHP 变量值(例如数组),但要慢一点。

  • encoding_filename: 编码缓存文件名,默认为 true

    如果缓存ID存在非文件名字符,那么必须对缓存文件名编码。

  • cache_dir_depth: 缓存目录深度,默认为 0

    如果大于 1,则会在缓存目录下创建子目录保存缓存文件。

    如果要写入的缓存文件超过 500 个,目录深度设置为 1 或者 2 较为合适。

    如果有更多文件,可以采用更大的缓存目录深度。

  • cache_dir_umask: 创建缓存目录时的标志,默认为 0700
  • cache_dir: 缓存目录(必须指定)
  • test_validity: 是否在读取缓存内容时检验缓存内容完整性,默认为 true
  • test_method: 检验缓存内容完整性的方式,默认为 crc32

    crc32 速度较快,而且安全。md5 速度最慢,但最可靠。strlen 速度最快,可靠性略差。

$_static_head 属性

固定要写入缓存文件头部的内容

$_static_head_len 属性

固定头部的长度

$_head_len 属性

缓存文件头部长度

方法详细说明

__construct() 方法

public void __construct($default_policy)

$default_policy 默认的缓存策略
{return}

构造函数


set() 方法

public void set($id, $data, $policy)

$id string
$data mixed
$policy array
{return}

写入缓存


get() 方法

public mixed get($id, $policy)

$id string
$policy array
{return} mixed

读取缓存,失败或缓存撒失效时返回 false


remove() 方法

public void remove($id, $policy)

$id string
$policy array
{return}

删除指定的缓存


_path() 方法

protected string _path($id, $policy, $mkdirs)

$id string
$policy array
$mkdirs boolean
{return} string

确定缓存文件名,并创建需要的次级缓存目录


_policy() 方法

protected array _policy($policy)

$policy array
{return} array

返回有效的策略选项


_hash() 方法

protected string _hash($data, $type)

$data string
$type string
{return} string

获得数据的校验码