---
### 1. Laravle 的緩存
#### 緩存類型`普通緩存`
1. APC 擴展已經沒有維護
2. array 使用內存作為緩存
3. databases 數據庫作為緩存例如 mysql
4. file 文件作為緩存(服務小的時候)
#### `分布式緩存`
1. memcached 數據在內存中掉電丟失
2. redis 持久化緩存
3. dynamdb 亞馬遜
#### 1.1 使用方法
> 在 cache.php 中啟動 laravel 的驅動, 例如 file 這個驅動緩存后的是到文件中

---
> #### 代碼如下:
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 //配置這個也可以