多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 动态缓存 [上一页](# "上一页")[下一页](# "下一页") 所有的缓存方式都被统一使用公共的调用接口,这个接口就是Cache缓存类。 缓存类的使用很简单,首先实例化缓存类:`$Cache = Cache::getInstance('缓存方式','缓存参数'),` <table border="0" cellspacing="1" cellpadding="0"><tr><td width="150"><b>缓存方式 </b></td> <td colspan="2">可以支持File、Apachenote、Apc、Eaccelerator、Memcache、Shmop、Sqlite、Db、Redis和Xcache</td> </tr><tr><td rowspan="12"><b>缓存参数</b> <br/><br/> (根据不同的缓存方式存在不同的参数) </td> <td><b>通用缓存参数</b> </td> <td>expire 缓存有效期(默认由DATA_CACHE_TIME参数配置) <br/><br/> length 缓存队列长度(默认为0) <br/><br/> queue 缓存队列方式(默认为file 还支持xcache和apc) </td> </tr><tr><td><b>缓存方式 </b></td> <td><b>额外支持的缓存参数</b> </td> </tr><tr><td>File(文件缓存) </td> <td>temp 缓存目录(默认由DATA_CACHE_PATH参数配置) </td> </tr><tr><td>Apachenote缓存 </td> <td>host 缓存服务器地址( 默认为127.0.0.1) </td> </tr><tr><td>Apc缓存 </td> <td>暂无其他参数 </td> </tr><tr><td>Eaccelerator缓存 </td> <td>暂无其他参数 </td> </tr><tr><td>Xcache缓存 </td> <td>暂无其他参数 </td> </tr><tr><td>Memcache</td> <td>host 缓存服务器地址( 默认为127.0.0.1) <br/><br/> port 端口(默认为MEMCACHE_PORT参数或者11211) <br/><br/> timeout 缓存超时(默认由DATA_CACHE_TIME参数设置) <br/><br/> persistent 长连接(默认为false) </td> </tr><tr><td>Shmop</td> <td>size(默认由SHARE_MEM_SIZE参数设置) <br/><br/> tmp(默认为TEMP_PATH) <br/><br/> project (默认为s) <br/><br/> length 缓存队列长度(默认为0) </td> </tr><tr><td>Sqlite</td> <td>db 数据库名称(默认:memory:) <br/><br/> table 表名(默认为sharedmemory) <br/><br/> persistent 长连接(默认为false) </td> </tr><tr><td>Db</td> <td>db 数据库名称(默认由DB_NAME参数配置) <br/><br/> table 数据表名称(默认由DATA_CACHE_TABLE参数配置) </td> </tr><tr><td>Redis</td> <td>host 服务器地址(默认由REDIS_HOST参数配置或者127.0.0.1) <br/><br/> port端口(默认由REDIS_PORT参数配置或者6379) <br/><br/> timeout 超时时间(默认由DATA_CACHE_TIME配置或者false) <br/><br/> persistent长连接(默认为false) </td> </tr></table> 例如,使用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秒` [上一页](# "上一页")[下一页](# "下一页")