新版PHP7安装redis扩展并在laravel中运用

前言

网上有关安装这个redis扩展文档有很多。多数都是相互借鉴的,里面还提到一定要把redis扩展放在php_igbinary.dll之后才行,否则就没有效果。
这些大多都是在说老版本php的方法。新版的php7已经智能了很多了,不用这些了,而且,我下载的php7里面根本就没有php_igbinary.dll这扩展。根本就行不通。
这里着重介绍下php-7.3.6-nts-x64扩展该如何安装。

下载扩展

下载地址

  1. 一般新版的php,建议选择比较新的那几个redis,目前我这里列举的redis是5.2.1版本。之后,选择有DownLoads列的windows窗口的那个DLL链接,点击进去。
  2. 进来之后,会看到该扩展适用的几个版本,如下所示。
  3. 查看自己的php方式,选择适合自己的版本。
    使用php运行phpinfo();查看自己的php版本和运行方式。

    我的php版本是7.3.6x64的64位系统,运行方式为NTS,也就是非线程安全版。因此,在这里,我选择7.3 Non Thread Safe (NTS) x64

    然后,点击就下载到了dll的压缩包,解压,就看到需要的dll扩展库。

安装并使用

  1. 只需要将上面解压得到的php_redis.dll,放入php根目录的ext目录中即可。

    很多教程上说php_redis.pdb也要放进去,我亲自尝试了,不用放能用正常使用,也不知道这个pdb有啥用,欢迎知道的小伙伴留言告诉我。

  2. 然后,打开php.ini,加入如下代码就行了,建议和之前的插件放在同一个位置,易于维护。
    extension=redis
    

    不用写全称的,只需要写插件名称redis就行了,php会按照统一格式发现redi插件的。当然,你非要写全程extension=php_redis.dll,也是可以的。你看看其他的插件,其他的插件都是插件名,到你这就是全称,有点格格不入的感觉。

  3. 之后,再次使用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效果:

posted @ 2020-04-20 19:02  houxin  阅读(776)  评论(0编辑  收藏  举报