12.2 动态缓存

所有的缓存方式都被统一使用公共的调用接口,这个接口就是Cache缓存类。
缓存类的使用很简单,首先实例化缓存类:$Cache = Cache::getInstance('缓存方式','缓存参数'),
缓存方式 可以支持File、Apachenote、Apc、Eaccelerator、Memcache、Shmop、Sqlite、Db、Redis和Xcache
缓存参数

(根据不同的缓存方式存在不同的参数)
通用缓存参数 expire 缓存有效期(默认由DATA_CACHE_TIME参数配置)

length 缓存队列长度(默认为0)

queue 缓存队列方式(默认为file 还支持xcache和apc)
缓存方式 额外支持的缓存参数
File(文件缓存) temp 缓存目录(默认由DATA_CACHE_PATH参数配置)
Apachenote缓存 host 缓存服务器地址( 默认为127.0.0.1)
Apc缓存 暂无其他参数
Eaccelerator缓存 暂无其他参数
Xcache缓存 暂无其他参数
Memcache host 缓存服务器地址( 默认为127.0.0.1)

port 端口(默认为MEMCACHE_PORT参数或者11211)

timeout 缓存超时(默认由DATA_CACHE_TIME参数设置)

persistent 长连接(默认为false)
Shmop size(默认由SHARE_MEM_SIZE参数设置)

tmp(默认为TEMP_PATH)

project (默认为s)

length 缓存队列长度(默认为0)
Sqlite db 数据库名称(默认:memory:)

table 表名(默认为sharedmemory)

persistent 长连接(默认为false)
Db db 数据库名称(默认由DB_NAME参数配置)

table 数据表名称(默认由DATA_CACHE_TABLE参数配置)
Redis host 服务器地址(默认由REDIS_HOST参数配置或者127.0.0.1)

port端口(默认由REDIS_PORT参数配置或者6379)

timeout 超时时间(默认由DATA_CACHE_TIME配置或者false)

persistent长连接(默认为false)
例如,使用Xcache作为缓存方式,缓存有效期60秒。$Cache = Cache::getInstance('Xcache',array('expire'=>'60')),

设置缓存参数
实例化缓存类的时候如果没有指定缓存参数,可以通过setOptions方法具体指定:$Cache->setOptions('temp','ThinkPHP');具体缓存参数根据不同的缓存方式有所区别。
如果需要获取当前缓存驱动的参数,可以使用:$value = $Cache->getOptions('temp');

存取缓存数据$Cache->set('name','ThinkPHP');  // 缓存name数据
$value = $Cache->get('name');  // 获取缓存的name数据
$Cache->rm('name');  // 删除缓存的name数据
或者使用下面的方法是等效的:$Cache->name = 'ThinkPHP'; 
$value = $Cache->name; 
Unset($Cache->name);
缓存设置方法可以重新指定缓存有效期,例如:$Cache->set('name','ThinkPHP',3600);  // 缓存name数据3600秒