小編給大家分享一下Laravel中怎么使用Redis,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、前言
Redis 是一個開源高效的鍵值對存儲系統,它通常用作為一個數據結構服務器來存儲鍵值對,它可以支持字符串、散列、列表、集合、有序集合。
1. 安裝 predis/predis
在 Laravel 中使用 Redis 之前,你需要通過 Composer 來安裝 predis/predis 包(~1.0):
$ composer require predis/predis
2. 配置
Redis 的配置文件在 config/database.php。在該文件中,我們可以看到一個包含 Redis 服務信息的配置數組,如下:
'redis' => [
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],然后在 .env 文件中配置如下三項為自己的信息:
REDIS_HOST=127.0.0.1REDIS_PASSWORD=nullREDIS_PORT=6379
對于開發來說,默認的配置已經完全可以滿足大部分的應用了。但是,你可以自由的在你環境中修改這個配置。你可以簡單的添加 Redis 服務的名稱,并且指定相應的服務器地址和端口。
cluster 選項會告訴 Laravel Redis 客戶端在你的 Redis 集群中進行客戶端的分片,這樣就可以構成節點池并且創建大量有效的 RAM。但是,你需要注意的是客戶端分片并不能處理故障轉移。因此,它主要用來從一個主要數據存儲地址獲取可用的緩存數據。
另外,你可以在你的 Redis 連接定義里添加一個 options 數組,這樣你可以指定 Predis 的客戶端選項。
如果你的 Redis 服務器引入了認證機制,那么你需要在你的 Redis 服務配置數組中添加一個 password 配置項來提供憑證。
二、與 Redis 進行交互
在 Laravel 中,我們可以通過使用 Redis 假面 的各種方法來與 Redis 進行交互。Redis 假面支持動態方法,這意味著我們可以在 Redis 假面上調用任何的 Redis 命令,假面會直接將命令傳遞給 Redis。
1. 基本使用
下面演示 Redis 的 string 類型使用:
<?phpnamespace App\Http\Controllers;use Illuminate\Support\Facades\Redis;class RedisController extends Controller{
public function set() {
Redis::set('name', 'sean');
}
public function get() {
$name = Redis::get('name');
var_dump($name);
}
}2. 使用多個 Redis 連接
可以通過使用 Redis::connection 方法來獲取 Redis 的實例:
$redis = Redis::connection();
這會返回默認的 Redis 服務器的實例。如果你沒有使用集群服務,你可以傳遞配置文件中所定義的服務名稱到 connection 方法中:
$redis = Redis::connection('other');3. 管道命令
管道流水線可以允許你在一個操作中對 Redis 服務器執行多個命令。pipeline 方法接收一個參數:Closure ,它會接收 Redis 的實例。你可以在閉包中發布所有的命令,它們將會在一個操作中進行處理:
Redis::pipeline(function ($pipe) {
for ($i = 0; $i < 1000; $i++) {
$pipe->set("key:$i", $i);
}
});以上是“Laravel中怎么使用Redis”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。