tp用法

TP的cache用法:
+---------------------------------------------------------------------------+
cache方法是从3.0开始新增的缓存管理方法:

cache用于设置,获取,删除操作.
+----------------------------------+
cache($name,$value='',$expire=0)
+----------------------------------+
name: 必须:如果传入数组则表示缓存初始化,如果是字符串则表示缓存赋值,获取或者删除操作.
value(可选)
要设置的缓存值,如果传入null表示删除缓存,默认是空字符串
expire(可选)
要设置的缓存有效期(单位为秒),默认为始终有效.
+----------------------------------+
返回值:
见详细(根据具体的用法返回不同的值)

+---------------------------------------------------------------------------+
缓存初始化:
cache方法传入数组即表示缓存初始化:例如:
cache(array('type'=>'xcache','prefix'=>'think','expire'=>600);

支持的配置参数根据不同的缓存方式(由type参数设置),通用的缓存参数包含:
+----------------------------------------+
expire    缓存有效期(时间为秒)
length    缓存队列长度
prefix    缓存标识前缀
type    缓存类型
如果没有设置type参数,则默认为文件缓存,cache方法目前支持的缓存类型包括File,Apachenote,Apc,Eaccelerator,Memcache,Shmop,Sqlite,Db,Redis,Xcache和WinCache.不同缓存类型的缓存参数可以参考这里:动态缓存
模块初始化操作后返回的是一个缓存实例化对象.

如果你没有进行缓存初始化的话,cache方法会在你进行缓存操作之前自动初始化(用系统默认的缓存方式和缓存参数),默认缓存配置参数包括:

/*
'DATA_CACHE_TIME'    =>    0,    //数据缓存有效期,0表示永久缓存
'DATA_CACHE_COMPRESS'=>false,    //数据缓存是否有压缩缓存
'DATA_CACHE_CHECK'    =>false,    //数据缓存是否校验缓存
'DATA_CACHE_PREFIX'    =>'',//缓存前缀
'DATA_CACHE_TYPE'    =>'File',        //数据缓存类型
'DATA_CACHE_PATH'    =>TEMP_PATH,//缓存路径设置(仅对File方式有效)
'DATA_CACHE_SUBDIR'    =>false,        //使用子目录缓存(根据缓存标识的哈希创建子目录)

'DATA_PATH_LEVEL'    =>1,    //子目录缓存级别
+----------------------------------------+

缓存设置:
缓存初始化以后,就可以进行缓存操作了,
cache('name','value');
会使用当前配置的缓存方式用name标识来缓存value值.
可以单独设置该缓存数据的有效期:
cache('name','value',3600);
数据缓存一小时
为了保证缓存的安全,建议对返回值进行判断,如果缓存设置失败,则返回false,否则返回true.
+-----------------------------------------+
获取缓存
$value=cache('name');
如果标识缓存不存在或者已经过期,则返回false,否则返回缓存值.

删除缓存
cache('name',NULL)
删除缓存标识为name的缓存数据.
如果切换缓存方式,可以再次进行缓存初始化操作.
或者使用以下的方式.
$cache=cache(array('type'=>'xcache','prefix'=>'think','expire'=>600));
$cache->name='value';//设置缓存
$value=$cache->name;//获取缓存
unset($cache->name);//删除缓存

如果你设置了缓存前缀的话,对应的缓存操作只是对应该缓存有前缀标识,不会影响到其他缓存.
+--------------------------------------------------------------------------+
cookie

cookie缓存也是一个多元化操作函数,完成cookie的设置,获取和删除操作.

cookie用于Cookie设置获取,删除操作.

用法:
cookie($name,$value='',$option=null);
name:必须,要操作的cookie变量
value:可选,要设置的cookie的值
option:传入的cookie设置参数,默认为空
返回值:
+------------------------------------------------------+
cookie设置:
缓存初始化以后,就可以进行缓存操作了
cache('name','value');

cookie设置:
cookie('name','value');
cookie('name','value',3600);

3.1开始后,cookie方法增加对数组的支持(采用轻量级的json编码格式保存,减少存储空间),例如:
cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))
数组参数可以采用query形式参数:
cookie('name','value','expire=3600&prefix=think_')
和上面的用法等效.

传入的option参数支持prefix,expire,path,domain四个索引参数,如果没有传入或者是传入空值的话,会默认取COOKIE_PREFIX,COOKIE_EXPIRE,COOKIE_PATH和COOKIE_DOMAIN四个配置参数,如果至传入了个别参数,那么也会默认的配置参数合并.

Cookie获取:
获取cookie很简单,无论是怎么设置的cookie,只需要使用:
$value=cookie('name');

如果没有设置cookie前缀的话,相当于:
$value=$_COOKIE['name'];

如果设置了cookie前缀的话,相当于
$value=$_COOKIE['前缀+name']

cookie删除
删除某个cookie的值,使用:
cookie('name',null)

要删除所有的Cookie的值,可以使用:
cookie(null);//清空当前设定的前缀的所有cookie
cookie(null,'think_');//清空指定前缀的cookie值.

posted @ 2012-09-22 18:33  sgsheg  阅读(269)  评论(0编辑  收藏  举报