首页 > 代码库 > tpyongfa
tpyongfa
TP的cache用法: +---------------------------------------------------------------------------+ cache方法是从3.0开始新增的缓存管理方法:
cache用于设置,获取,删除操作. +----------------------------------+ cache($name,$value=http://www.mamicode.com/‘‘,$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=http://www.mamicode.com/cache(‘name‘); 如果标识缓存不存在或者已经过期,则返回false,否则返回缓存值.
删除缓存 cache(‘name‘,NULL) 删除缓存标识为name的缓存数据. 如果切换缓存方式,可以再次进行缓存初始化操作. 或者使用以下的方式. $cache=cache(array(‘type‘=>‘xcache‘,‘prefix‘=>‘think‘,‘expire‘=>600)); $cache->name=‘value‘;//设置缓存 $value=http://www.mamicode.com/$cache->name;//获取缓存 unset($cache->name);//删除缓存
如果你设置了缓存前缀的话,对应的缓存操作只是对应该缓存有前缀标识,不会影响到其他缓存. +--------------------------------------------------------------------------+ cookie
cookie缓存也是一个多元化操作函数,完成cookie的设置,获取和删除操作.
cookie用于Cookie设置获取,删除操作.
用法: cookie($name,$value=http://www.mamicode.com/‘‘,$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=http://www.mamicode.com/cookie(‘name‘);
如果没有设置cookie前缀的话,相当于: $value=http://www.mamicode.com/$_COOKIE[‘name‘];
如果设置了cookie前缀的话,相当于 $value=http://www.mamicode.com/$_COOKIE[‘前缀+name‘]
cookie删除 删除某个cookie的值,使用: cookie(‘name‘,null)
要删除所有的Cookie的值,可以使用: cookie(null);//清空当前设定的前缀的所有cookie cookie(null,‘think_‘);//清空指定前缀的cookie值.
tpyongfa