【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握
生活随笔
收集整理的這篇文章主要介紹了
【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 配置緩存 /config/cache.php
- 配置緩存驅(qū)動是什么?(即 CACHE_DRIVER="stores 中的key")
- 配置stores中具體的模塊
- 配置緩存key值的前綴(即 CACHE_PREFIX)
- 2. 配置redis,即配置 config/database.php
- 3. 使用Cache
- 4. 高級操作,加鎖
1. 配置緩存 /config/cache.php
配置緩存驅(qū)動是什么?(即 CACHE_DRIVER=“stores 中的key”)
配置stores中具體的模塊
配置緩存key值的前綴(即 CACHE_PREFIX)
return [ 'default' => env('CACHE_DRIVER', 'file'),'stores' => [....省略內(nèi)容....'redis' => ['driver' => 'redis','connection' => 'cache', # 對應(yīng) config/database.php 中的redis.cache 內(nèi)容],....省略內(nèi)容....],# 配置前綴地址 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), ];2. 配置redis,即配置 config/database.php
'redis' => [....省略內(nèi)容....# 配置此項(xiàng),連接redis 服務(wù)器'cache' => [ 'url' => env('REDIS_URL'),'host' => env('REDIS_HOST', '127.0.0.1'),'password' => env('REDIS_PASSWORD', null),'port' => env('REDIS_PORT', 6379),'database' => env('REDIS_CACHE_DB', 1), # redis 數(shù)據(jù)庫 1 redis-cli > select 1],],至此,根據(jù)上述內(nèi)容,我們知道了 cache 使用redis 存儲的過程之后,把對應(yīng)配置項(xiàng)寫入的 .env 環(huán)境配置中
執(zhí)行php artisan config:cache --env=<環(huán)境名稱> 即可
3. 使用Cache
use Illuminate\Support\Facades\Cache;
# 簡單使用 # 添加# 返回值:Boolean# 只會在緩存項(xiàng)不存在的情況下添加緩存項(xiàng)到緩存,如果緩存項(xiàng)被添加到緩存返回true,否則,返回false# 60 為過期時間 60秒Cache::add('key', 'value', 60); # 60秒# 緩存中存儲緩存項(xiàng)的時候,你需要指定數(shù)據(jù)被緩存的時間(分鐘數(shù))Cache::put('key', 'value', 5); # 5分鐘# 持久化Cache::forever('key', 'value');# 獲取 $value = Cache::get('key');4. 高級操作,加鎖
說明:只有 redis、memcached、dynamodb可以使用加鎖操作
if (Cache::has($cacheKey)) {$res = Cache::get($cacheKey);Log::info("{$cacheKey} is existed!!");return $res; } $res = Cache::lock($cacheKey)->get(function () use ($params) {// 獲取無限期鎖并自動釋放...# 執(zhí)行業(yè)務(wù)邏輯return self::sendGetRequest($params); }); $isAddSuccess = Cache::add($cacheKey, $res, 1 * 60); Log::info("{$cacheKey} :{$isAddSuccess}");總結(jié)
以上是生活随笔為你收集整理的【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Laravel 之 Cache 模块】
- 下一篇: 【Let‘s Encrypt】 too