# cache 数据缓存 HYPHP内置了 THINKPHP 的 数据缓存类 系统目前已经支持的缓存类型包括:Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache和Xcache。 默认会使用使用File缓存类型. 将你的数据储存到 /Tmp目录中 作为文件储存 配置你的数据缓存类型 配置信息请填写在 /Conf/config.php 中 以下是配置实例 ~~~ <?php return array( 'DATA_CACHE_TYPE' => 'File', 'DATA_CACHE_TIME' => 0, 'DATA_CACHE_TABLE' => 'cache', 'DATA_CACHE_PREFIX' => '', 'DATA_CACHE_COMPRESS' => false, //开启缓存数据压缩 gzcompress 'DATA_CACHE_PATH' => TMP_PATH . 'cache', 'DATA_CACHE_KEY' => '', ) ~~~ 上面是File缓存方式的配置 关于配置项的更多信息 | 配置名 |说明 | | --- | --- | | DATA_CACHE_TYPE | Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache和Xcache | | DATA_CACHE_TIME | 缓存过期时间 (秒) 0 = 永久缓存 | | DATA_CACHE_TABLE | 如果使用数据库DB缓存 请填写DB表 | | DATA_CACHE_PREFIX | 缓存前缀 默认为空 | | DATA_CACHE_PATH | 文件缓存保存路径 默认为 TMP_PATH/cache | | DATA_CACHE_KEY | 文件缓存名加密KEY | | DATA_CACHE_COMPRESS | 是否压缩数据 (需要gzcompress , gzuncompress函数支持) | | DATA_CACHE_TIMEOUT | 连接缓存服务器 超时时间 默认为空 使用系统默认值 | | REDIS_HOST | REDIS缓存服务器地址 | | REDIS_PORT | REDIS缓存服务器端口 | | MEMCACHE_HOST | Memcache 缓存服务器地址 | | MEMCACHE_PORT | Memcache 缓存服务器端口 | | MEMCACHED_SERVER | Memcached 缓存服务器地址 必须是array 多台服务器IP | | MEMCACHED_LIB| Memcached 配置参数| MemcacheD 配置 ~~~ 'MEMCACHED_SERVER' => array( array('mem1.domain.com', 11211, 33), array('mem2.domain.com', 11211, 67) ); ~~~ DB表的建立 ~~~ /** * 数据库方式缓存驱动 hy_ 是你配置的数据库前缀 * CREATE TABLE hy_cache ( * cachekey varchar(255) NOT NULL, * expire int(11) NOT NULL, * data blob, * datacrc int(32), * UNIQUE KEY `cachekey` (`cachekey`) * ); */ ~~~ 换网线 ## Cache 使用实例 我们默认不需要配置以上的信息, 只是有额外需求时配置. 我们的cache函数是依然可用的 ~~~ //设置缓存 设置字段user 储存为 admin 该数据就会默认储存为文件 可以下次使用 cache('user','admin'); //获取缓存 echo cache('user'); //获取之前设置的user字段 //输出 admin //删除缓存 cache('user',null) ; //将第二参数设置为null 则为删除缓存 //更多使用 //设置缓存 储存admin到user字段 有效期60秒 如果超过60秒 去获取 user 则返回false cache('user','admin',array( 'expire'=>60 )); //设置缓存 改为 db 缓存 cache('user','admin',array( 'type'=>'db' 'expire'=>60 )); //获取 后期db缓存 cache('user','',array( 'type'=>'db' 'expire'=>60 )); ~~~