🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 到底用哪种缓存方式? 首先要看系统类型,比方有1、内容型,2、交互型。 然后看缓存目的,比方有1、加速用户端响应,2、降低负载 ### 1、TP默认File缓存,简单好用 ``` // +---------------------------------------------------------------------- // | 缓存设置 // +---------------------------------------------------------------------- 'cache' => [ // 驱动方式 'type' => 'File', // 缓存保存目录 'path' => CACHE_PATH, // 缓存前缀 'prefix' => '', // 缓存有效期 0表示永久缓存 'expire' => 0, ], ``` 无需安装组件,只需要**硬盘好点**,File缓存基本可以满足需求 >[success]适合**没有服务器运维经验**以及**服务器内存配置低**的情况下使用。 ### 2、redis以及memcache缓存 ``` 'cache' => [ // 驱动方式 'type' => 'redis', // 服务器地址 'host' => '127.0.0.1', // redis 端口 'port' => 6379, // redis 密码 'password' => '', // 缓存前缀 'prefix' => '', 'expire' => 0, ], ``` 需要按照redis以及开启php的redis扩展,依赖内存,容易占满内存 >[success]适合**有服务器运维经验**以及**服务器内存配置高**,需要高并发操作(如秒杀等)的情况下使用。 ### 3、yac缓存 > 不需要安装其他组件,只需php开通扩展,基于php直接吃内存,效率当然比前面几个高 Tp默认不支持配置,不过可以代码中手写,如: ``` $yac = new Yac(); $yac->add('a', 'value a'); $yac->add('b', [1,2,3,4]); $obj = new stdClass; $obj->v = 'obj v'; $yac->add('obj', $obj); echo $yac->get('a'), PHP_EOL; // value a echo $yac->a, PHP_EOL; // value a print_r($yac->get('b')); ```