Redis

2018-12-17 10:59 更新

介紹

Redis 是開源,先進(jìn)的鍵值對保存庫。由于它可用的鍵包含了 字串、哈希、列表集合                和 有序集合,因此常被稱作數(shù)據(jù)結(jié)構(gòu)服務(wù)器。

在使用 Redis 之前,你需要經(jīng)由 Composer 將 predis/predis 擴(kuò)展包裝在 Laravel 中。

提醒: 如果你用 PECL 安裝了 Redis PHP extension,則需要重命名 config/app.php 里的 Redis 別名。

           

配置文件

應(yīng)用程序的 Redis 配置文件在 config/database.php。在這個文件里,你會看到 redis 數(shù)組,里面有應(yīng)用程序使用的 Redis 服務(wù)器數(shù)據(jù):

'redis' => array(

    'cluster' => true,

    'default' => array('host' => '127.0.0.1', 'port' => 6379),),

           

默認(rèn)的服務(wù)器配置對于開發(fā)應(yīng)該是足夠的。然而,你可以根據(jù)使用環(huán)境自由修改數(shù)組數(shù)據(jù)。只要給每個 Redis 一個名稱,并且配置服務(wù)器的 host 和 port。

cluster 選項(xiàng)會讓 Laravel 的 Redis 客戶端在所有 Redis 節(jié)點(diǎn)間執(zhí)行客戶端分片( client-side sharding ),讓你建立節(jié)點(diǎn)池,并因此擁有大量的 RAM 可用。然而,客戶端分片的節(jié)點(diǎn)不能執(zhí)行容錯轉(zhuǎn)移;因此,這主要適合用可以從另一臺主要數(shù)據(jù)保存庫取得的緩存數(shù)據(jù)。

如果你的 Redis 服務(wù)器需要認(rèn)證,你可以在 Redis 服務(wù)器配置文件里加入 password 為鍵值的參數(shù)配置。

           

使用方式

你可以經(jīng)由 Redis::connection 方法得到 Redis 實(shí)例:

$redis = Redis::connection();

           

你會得到一個使用 Redis 默認(rèn)服務(wù)器的實(shí)例。如果你沒有使用服務(wù)器集群,你可以在 connection 方法傳入定義在 Redis 配置文件的服務(wù)器名稱,以連到特定服務(wù)器:

$redis = Redis::connection('other');

           

一旦你有了 Redis 客戶端實(shí)例,就可以使用實(shí)例發(fā)出任何 Redis 命令。Laravel 使用魔術(shù)方法傳遞命令到服務(wù)器:

$redis->set('name', 'Taylor');$name = $redis->get('name');$values = $redis->lrange('names', 5, 10);

           

注意,傳入命令的參數(shù)僅只是傳遞到魔術(shù)方法里。當(dāng)然,你不一定要使用魔術(shù)方法,你也可以使用 command 方法傳遞命令到服務(wù)器:

$values = $redis->command('lrange', [5, 10]);

           

若你只想對默認(rèn)服務(wù)器下命令,可以使用 Redis 類的靜態(tài)魔術(shù)方法:

Redis::set('name', 'Taylor');$name = Redis::get('name');$values = Redis::lrange('names', 5, 10);

           

提示: 也可以使用 Redis 作為 Laravel 的 緩存會話 驅(qū)動。

           

管道

當(dāng)你想要一次發(fā)送很多命令到服務(wù)器時(shí)可以使用管道。使用 pipeline 方法:

發(fā)送多個命令到服務(wù)器

Redis::pipeline(function($pipe){
    for ($i = 0; $i < 1000; $i++)
    {
        $pipe->set("key:$i", $i);
    }});


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號