本文實(shí)例講述了Laravel框架使用Redis的方法。分享給大家供大家參考,具體如下:
安裝
laravel中使用redis首先需要你通過(guò) 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, ], ],
這個(gè)自己測(cè)試玩的時(shí)候不需要改動(dòng),另外一個(gè)地方就是.env文件
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
這些是相關(guān)信息,其實(shí)你都不需要改動(dòng)。在這我們先不說(shuō)redis集群的問(wèn)題,先說(shuō)單個(gè)redis的使用。
測(cè)試
首先需要一個(gè)路由:
//redis測(cè)試 Route::get('testRedis','RedisController@testRedis')->name('testRedis');
利用artisan命令創(chuàng)建一個(gè)控制器
php artisan make:controller RedisController
然后我們?cè)谠摽刂破髦幸雽?duì)應(yīng)的類(lèi)和創(chuàng)建一個(gè)方法。
因?yàn)槲覀兺ㄟ^(guò)composer安裝后,laravel框架已經(jīng)幫我們將redis在app.php配置文件中進(jìn)行了注冊(cè)和門(mén)面支持,所以直接使用即可。(Member類(lèi)是我自己測(cè)試的數(shù)據(jù)表模型,無(wú)需理會(huì))
<?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" //加一個(gè)小例子比如網(wǎng)站首頁(yè)某個(gè)人員或者某條新聞日訪問(wèn)量特別高,可以存儲(chǔ)進(jìn)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);//此處為了測(cè)試你可以將id=1200改為另一個(gè)id } dump($values); } }
錯(cuò)誤問(wèn)題
在你做完以上操作運(yùn)行的時(shí)候,也許會(huì)報(bào)這個(gè)錯(cuò)誤:
(1/1) ConnectionException
??????????????????????????? [tcp://127.0.0.1:6379]
in AbstractConnection.php (line 155)
at AbstractConnection->onConnectionError('???????????????????????????', 10061)
in StreamConnection.php (line 128)
....
其實(shí)這個(gè)問(wèn)題不算問(wèn)題,但是可能很多人剛用的時(shí)候會(huì)踩坑。
這是因?yàn)槟愕姆?wù)器上沒(méi)有安裝和啟動(dòng)redis服務(wù),就像mysql一樣,使用的前提是安裝并且成功啟動(dòng)了。
我是在windows下測(cè)試的,就以windows說(shuō)事。后續(xù)會(huì)寫(xiě)相關(guān)的redis文章,Linux的安裝,啟動(dòng)使用等都會(huì)介紹。
首先下載windows版本:https://redis.io/download
或者使用我下載好的,版本為:4.0.8
github上的4.0.8-windows-redis下載地址:https://github.com/antirez/redis/archive/4.0.8.zip
或者:點(diǎn)擊此處本站下載。
其實(shí)接下來(lái)的也就是windows如何安裝Redis的教程
將剛剛下載的壓縮包解壓縮,修改名稱(chēng)為Redis(可不修改)放置到C盤(pán)
在該路徑下打開(kāi)cmd窗口,直接輸入redis.exe
顯示以下內(nèi)容表示安裝并且啟動(dòng)成功。(注意:如果你想在命令行進(jìn)行操作,應(yīng)該再打開(kāi)一個(gè)cmd窗口,這個(gè)也不能關(guān)掉)
如果不想每次都到該目錄啟動(dòng),請(qǐng)配置環(huán)境變量即可?,F(xiàn)在你重新運(yùn)行剛剛的Laravel中的請(qǐng)求就會(huì)正常運(yùn)行。希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。