Laravel使用Redis快取

微波爐發表於2021-07-10

Laravel預設使用檔案(file)儲存快取,但同時提供了其他多種儲存介質,其中固然包含Redis。從安裝到配置再到驗證步驟較多,在此記錄一下。

基於Windows系統

下載地址:github.com/tporadowski/redis/relea...
選擇安裝包(msi)或壓縮包(zip)下載,下載後安裝包開啟選擇安裝路徑即可,zip則直接解壓即可。

進入redis安裝(解壓)目錄,輸入redis-cli,若命令列變為

127.0.0.1:6379>

則代表安裝成功

附幾個簡單的命令

SELECT index 切換資料庫,index為資料庫編號,預設為0
SET key value 插入鍵值
GET key 獲取key代表的值

首先輸出phpinfo(),檢視自己的VC版本,途中MSVC15即代表VC版本為15。
下載地址:windows.php.net/downloads/pecl/sna...
進入後選擇最新的一個版本(此時是5.1.1),進入後按照下圖選擇合適的版本
下載後解壓,拿出其中的php_redis.dll,放入php安裝目錄下的ext資料夾中

wamp中是wamp/bin/php/啟用的php版本/ext

然後開啟apache/bin/php.ini

注:此處的php.ini只是一個快捷方式,指向的是php下的phpForApache.ini檔案

在末尾加上一行

extension=php_redis.dll

重新整理phpinfo();頁面,能看到redis擴充套件相關資訊,則代表安裝成功

進入Laravel專案所在目錄,使用composer安裝

composer require predis/predis

首先在config/app.php中新增redis服務

//去掉下面這一句的註釋
Illuminate\Redis\RedisServiceProvider::class,

開啟.env檔案配置下列項

CACHE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

config/cache.php快取配置檔案中有這樣的資訊

'redis' => [
   'driver' => 'redis',
   'connection' => 'cache',
   'lock_connection' => 'default',
],

同時,config/database.php配置檔案中有這樣的資訊

 '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'),
 ],

很明顯,cache使用的redis連線為cache連線,該連線的配置在database.php檔案中,即為本機redis上的資料庫1

我們先使用Laravel的方法新增快取

Cache::put('mykey','1234');

然後到redis安裝目錄下查詢

redis-cli
select 1
keys *

輸入以上命令後,會列出目前資料庫內所有的鍵
可以看到我們存入mykey,但實際上它的鍵並非mykey,而是類似於下面的結構:

laravel_database_laravel_cache:mykey

使用命令

get laravel_database_laravel_cache:mykey

即可取出資料。
至此,已驗證相關配置成功。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章