ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
--- ### 1. Laravle 的缓存 #### 缓存类型`普通缓存` 1. APC 扩展已经没有维护 2. array 使用内存作为缓存 3. databases 数据库作为缓存例如 mysql 4. file 文件作为缓存(服务小的时候) #### `分布式缓存` 1. memcached 数据在内存中掉电丢失 2. redis 持久化缓存 3. dynamdb 亚马逊 #### 1.1 使用方法 > 在 cache.php 中启动 laravel 的驱动, 例如 file 这个驱动缓存后的是到文件中 ![图片alt](/media/editor/1621944203772_20210524005802384311.png ''图片title'') --- > #### 代码如下: use Illuminate\Support\Facades\Cache; //添加缓存 Cache::put('key1','value', '10'); //TTL 过期时间 Cache::put('test2','value2'); //TTL 过期时间永久有效(不推荐) Cache::put('test3','value2', now()->addMinutes(1)); //添加一分钟的时间相对时间 //如果key存在, 则存储失败 Cache::add('key4', 'value', 10); //删除缓存 Cache::forever('key1'); Cache::put('key1', 0); //设置过期时间为0也能删除 //其他DDL操作 Cache::has('key3'); Cache::increment('key1', 1); //累加缓存 Cache::decrement('key1', 1); //累减去 //获取缓存并删除 Cache::pull('key1'); //获取缓存, 缓存失效自动获取缓存。判断是否为空空就执行闭包把闭包中的数据存储起来 Cache::remember('key1', 60, function (){ //TODO return ['xxx']; }); //获取缓存 // return Cache::get('key1'); return Cache::get('key1', 'default1'); //不存在返回默认值 > #### 入股要使用 redis 则需要在 .env 中配置 REDIS_HOST=redis REDIS_PASSWORD=laradock REDIS_PORT=6379 > #### 这里使用了 laradock 中的 redis 如果连接使用 redis作为缓存系统 'default' => env('CACHE_DRIVER', 'redis'), CACHE_DRIVER=redis //配置这个也可以