本文實例講述了Laravel框架使用Redis的方法。分享給大家供大家參考,具體如下:
安裝
laravel中使用redis首先需要你通過 Composer 安裝 predis/predis 包:
composer require predis/predis
配置
redis的配置文件是: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' => 0,
],
],
這個自己測試玩的時候不需要改動,另外一個地方就是.env文件
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
這些是相關信息,其實你都不需要改動。在這我們先不說redis集群的問題,先說單個redis的使用。
測試
首先需要一個路由:
//redis測試
Route::get('testRedis','RedisController@testRedis')->name('testRedis');
利用artisan命令創(chuàng)建一個控制器
php artisan make:controller RedisController
然后我們在該控制器中引入對應的類和創(chuàng)建一個方法。
因為我們通過composer安裝后,laravel框架已經(jīng)幫我們將redis在app.php配置文件中進行了注冊和門面支持,所以直接使用即可。(Member類是我自己測試的數(shù)據(jù)表模型,無需理會)
?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Member;
use Illuminate\Support\Facades\Redis;
class RedisController extends Controller
{
public function testRedis()
{
Redis::set('name', 'guwenjie');
$values = Redis::get('name');
dd($values);
//輸出:"guwenjie"
//加一個小例子比如網(wǎng)站首頁某個人員或者某條新聞日訪問量特別高,可以存儲進redis,減輕內(nèi)存壓力
$userinfo = Member::find(1200);
Redis::set('user_key',$userinfo);
if(Redis::exists('user_key')){
$values = Redis::get('user_key');
}else{
$values = Member::find(1200);//此處為了測試你可以將id=1200改為另一個id
}
dump($values);
}
}
錯誤問題
在你做完以上操作運行的時候,也許會報這個錯誤:
(1/1) ConnectionException
����Ŀ����������ܾ��������ӡ� [tcp://127.0.0.1:6379]
in AbstractConnection.php (line 155)
at AbstractConnection->onConnectionError('����Ŀ����������ܾ��������ӡ�', 10061)
in StreamConnection.php (line 128)
....
其實這個問題不算問題,但是可能很多人剛用的時候會踩坑。
這是因為你的服務器上沒有安裝和啟動redis服務,就像mysql一樣,使用的前提是安裝并且成功啟動了。
我是在windows下測試的,就以windows說事。后續(xù)會寫相關的redis文章,Linux的安裝,啟動使用等都會介紹。
首先下載windows版本:https://redis.io/download
或者使用我下載好的,版本為:4.0.8
github上的4.0.8-windows-redis下載地址:https://github.com/antirez/redis/archive/4.0.8.zip
或者:點擊此處本站下載。
其實接下來的也就是windows如何安裝Redis的教程
將剛剛下載的壓縮包解壓縮,修改名稱為Redis(可不修改)放置到C盤
在該路徑下打開cmd窗口,直接輸入redis.exe
顯示以下內(nèi)容表示安裝并且啟動成功。(注意:如果你想在命令行進行操作,應該再打開一個cmd窗口,這個也不能關掉)
如果不想每次都到該目錄啟動,請配置環(huán)境變量即可。
現(xiàn)在你重新運行剛剛的Laravel中的請求就會正常運行。
更多關于Laravel相關內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
您可能感興趣的文章:- PHP的Laravel框架結(jié)合MySQL與Redis數(shù)據(jù)庫的使用部署
- laravel使用Redis實現(xiàn)網(wǎng)站緩存讀取的方法詳解
- 關于 Laravel Redis 多個進程同時取隊列問題詳解
- Redis在Laravel項目中的應用實例詳解
- Laravel框架實現(xiàn)redis集群的方法分析
- Laravel如何使用Redis共享Session
- laravel配置Redis多個庫的實現(xiàn)方法
- Laravel的Auth驗證Token驗證使用自定義Redis的例子
- laravel項目利用twemproxy部署redis集群的完整步驟
- laravel中Redis隊列監(jiān)聽中斷的分析