中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在laravel中配置Redis

發布時間:2021-04-20 16:40:31 來源:億速云 閱讀:527 作者:Leah 欄目:開發技術

怎么在laravel中配置Redis?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Laravel 是什么

Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

修改配置

  1. Redis 的配置在 config/database.php 文件,根據需求修改,我這里不需要改動;

  2. 設置 Cache 默認緩存為 Redis,在 .evn 文件中 CACHE_DRIVER=redis

  3. 設置 Session 的驅動為 Redis,在 .env 文件中 SESSION_DRIVER=redis

配置多個庫

經過以上的配置后,多個服務都使用 Redis,如果都使用同一個庫,這顯然是不合理的。我們可以配置多個連接來解決這個問題。
Redis 默認有 16 個庫,在服務器中設置 redis.confdatabase 值可以修改。

先來看下 config/database.php 的默認連接

'redis' => [

    'client' => 'predis',

    'default' => [
      'host' => env('REDIS_HOST', '127.0.0.1'),
      'password' => env('REDIS_PASSWORD', null),
      'port' => env('REDIS_PORT', 6379),
      'database' => env('REDIS_DB', 0),
    ],

    'cache' => [
      'host' => env('REDIS_HOST', '127.0.0.1'),
      'password' => env('REDIS_PASSWORD', null),
      'port' => env('REDIS_PORT', 6379),
      'database' => env('REDIS_CACHE_DB', 1),
    ],
  
  ],

默認是有兩個連接的,分別是 defaultcache。下面來看下 config/cache.php 中關于 Redis 的配置

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

可以看到它的 connection 值是 cache,也就是使用 config/database.php 中 Redis 的 cache

下面修改 config/database.php 的 Redis,添加一個 session 的連接,如下

'redis' => [

    'client' => 'predis',

    'default' => [
      'host' => env('REDIS_HOST', '127.0.0.1'),
      'password' => env('REDIS_PASSWORD', null),
      'port' => env('REDIS_PORT', 6379),
      'database' => env('REDIS_DB', 0),
    ],

    'cache' => [
      'host' => env('REDIS_HOST', '127.0.0.1'),
      'password' => env('REDIS_PASSWORD', null),
      'port' => env('REDIS_PORT', 6379),
      'database' => env('REDIS_CACHE_DB', 1),
    ],

    'session' => [
      'host' => env('REDIS_HOST', '127.0.0.1'),
      'password' => env('REDIS_PASSWORD', null),
      'port' => env('REDIS_PORT', 6379),
      'database' => env('REDIS_SESSION_DB', 2),
    ],

  ],

接下來在 .env 中添加 SESSION_CONNECTION=session

測試

經過上面的操作,已經修改好了。總結下就是 default 使用的是 0 庫,cache 使用的是 1 庫,session 使用的是 2 庫。

使用如下代碼來測試下

/**
   * 測試 Redis 的存儲
   */
  public function testRedis()
  {
    // Redis 門面
    Redis::setex('facades', 30, 'i am facades');
    // Cache
    Cache::put('cache', 'i am cache', now()->addMinute(30));
    // 因為 Cache 默認是 Redis,所有和上面語句相同
    // Cache::store('redis')->put('cache', now(), now()->addMinute(30));
  }

運行以上代碼之后,在服務器中使用 redis-cli 來看下存儲情況

怎么在laravel中配置Redis

可以看到各個庫的存儲情況

  1. 使用 Redis 門面操作,默認為 config/database.php 中 Redis 的 default 連接,數據存入 0 庫;

  2. 使用 Cache 操作,因為 config/cache.php 中 Redis 的 connection 設置為 cache,理所當然存入的是 1 庫;

  3. Session 也根據 SESSION_CONNECTION=session 配置,正確的存入了 2 庫;

使用 Redis 門面的時候,也可以指定連接

$redis = Redis::connection('session');
$redis->setex('facades_connection', 30, 'i am facades_connection');

怎么在laravel中配置Redis

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济宁市| 武胜县| 西宁市| 河曲县| 永清县| 仲巴县| 射阳县| 册亨县| 巴彦县| 宜章县| 贵南县| 天祝| 聂拉木县| 讷河市| 福清市| 长岛县| 舟山市| 东阿县| 乐安县| 湖南省| 三门县| 务川| 韩城市| 南宁市| 广水市| 蒙城县| 珲春市| 图们市| 玛纳斯县| 瑞丽市| 闸北区| 丹凤县| 濉溪县| 吉木乃县| 封丘县| 阜新| 长泰县| 彭州市| 安庆市| 康定县| 天峻县|