前言
網上有關安裝這個redis
擴展文檔有很多。多數都是相互借鑒的,里面還提到一定要把redis
擴展放在php_igbinary.dll
之后才行,否則就沒有效果。
這些大多都是在說老版本php的方法。新版的php7已經智能了很多了,不用這些了,而且,我下載的php7里面根本就沒有php_igbinary.dll
這擴展。根本就行不通。
這里着重介紹下php-7.3.6-nts-x64
擴展該如何安裝。
下載擴展
- 一般新版的php,建議選擇比較新的那幾個redis,目前我這里列舉的redis是5.2.1版本。之后,選擇有DownLoads列的windows窗口的那個DLL鏈接,點擊進去。
- 進來之后,會看到該擴展適用的幾個版本,如下所示。
- 查看自己的php方式,選擇適合自己的版本。
使用php運行phpinfo();
查看自己的php版本和運行方式。
我的php版本是7.3.6
,x64
的64位系統,運行方式為NTS
,也就是非線程安全版。因此,在這里,我選擇7.3 Non Thread Safe (NTS) x64
。
然后,點擊就下載到了dll的壓縮包,解壓,就看到需要的dll擴展庫。
安裝並使用
- 只需要將上面解壓得到的
php_redis.dll
,放入php根目錄的ext
目錄中即可。很多教程上說
php_redis.pdb
也要放進去,我親自嘗試了,不用放能用正常使用,也不知道這個pdb有啥用,歡迎知道的小伙伴留言告訴我。 - 然后,打開
php.ini
,加入如下代碼就行了,建議和之前的插件放在同一個位置,易於維護。extension=redis
不用寫全稱的,只需要寫插件名稱
redis
就行了,php會按照統一格式發現redi插件的。當然,你非要寫全程extension=php_redis.dll
,也是可以的。你看看其他的插件,其他的插件都是插件名,到你這就是全稱,有點格格不入的感覺。 - 之后,再次使用php連接redis就可以看到成功了。
redis在laravel的使用
上一步驟,我們已經安裝成功的話,可以在laravel
中直接使用。
use Illuminate\Support\Facades\Redis;
// 測試頁面首頁
public function index(){
// 測試redis
Redis::set('name', 'Taylor');
$user = Redis::get('name');
dd($user);
}
如果上面的代碼你的網站能成功執行,並打印出name
的話。那么就代表你的redis已經在成功運行了。
然后,cache緩存和session都可以使用redis代替了。要求也很簡單,修改.env
文件cache和session的引擎都修改為redis就行了。
BROADCAST_DRIVER=log
CACHE_DRIVER=redis
QUEUE_CONNECTION=sync
SESSION_DRIVER=redis
SESSION_LIFETIME=120
CACHE_DRIVER: 就是緩存引擎
SESSION_DRIVER:就是session引擎
提示:這里明確說明,不建議使用
predis/predis
,它的誕生就是為了彌補redis擴展的。
而且,Predis 已被該軟件包的原始作者遺棄,並可能在將來的版本中從 Laravel 中刪除。
附錄截圖
未安裝redis擴展,laravel強行使用redis報錯如下:
安裝redis成功后的 ,再次使用redis效果: