在laravel 7中配置phpredis

5hcedyr0  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(544)

我在homestead安装了一个新的laravel,并按照laravel文档中的建议安装了phpredishttps://laravel.com/docs/7.x/redis#phpredis.
我按照这个指南安装phpredishttps://webstoked.com/install-phpredis-laravel-ubuntu/
在laravel文档和我链接的安装phpredis的指南中,都指示我在config/app.php中重命名redis别名。
如果计划将phpredis扩展与redis facade别名一起使用,则应将其重命名为其他名称,如redismanager,以避免与redis类发生冲突。您可以在app.php配置文件的别名部分执行此操作。
-拉威尔文件
为了进一步增加我的困惑,laravel文档接着说您应该完全删除别名。
为了避免类命名与redis php扩展本身发生冲突,您需要从应用程序配置文件的aliases数组中删除或重命名lightize\support\facades\redis facade别名。通常,在使用redis php扩展时,应该完全删除这个别名,并且只通过它的完全限定类名引用facade。
-拉威尔文件
我的主要问题是:
“如果您计划使用phpredis扩展和redis facade别名”是什么意思?
我应该在什么时候重命名别名、删除别名或保持原样?
根据我是否重命名或删除别名,这将如何影响使用redis?

j5fpnvbx

j5fpnvbx1#

有两种不同的配置/使用方法 redis 在一个拉威尔的项目里。
第一个是使用 predis 它就在你的房间里 vendor 文件夹。这是“灵活和功能完整的redis客户端的php和hhvm”位于这里。它是一个用 php .
另一种方法是使用 PhpRedis ,它是用 C 就在这里。

protected function connector()
{
    switch ($this->driver) {
        case 'predis':
            return new Connectors\PredisConnector;
        case 'phpredis':
            return new Connectors\PhpRedisConnector;
    }
}

“如果您计划使用phpredis扩展和redis facade别名”是什么意思?
在框架中有一个检查。在创建 PhpRedis client 对于redis,它正在检查 new Redis 示例是facade,因为phpredis也在使用 Redis 名字是你可以从这里看到的。所以,如果你想在你的laravel框架中使用phpredis,你最好重命名你的facade,因为它会引起冲突。
我应该在什么时候重命名别名、删除别名或保持原样?
如果你要用 predis 作为客户,你可以保持原样。如果你要用 PhpRedis 作为客户机,则需要重命名别名。
根据我是否重命名或删除别名,这将如何影响使用redis?
您将使用 RedisManager::someMethod() 如果你选择phpredis。您将使用 Redis::someMethod() 如果你用predis。

相关问题