这个Redis门面和predis有什么区别?Laravel

What is the difference between this Redis facade and predis?Laravel

这个Redis(facade)和predis有什么区别?我不知道它们之间的区别。

predis 是 PHP 的 Redis 客户端。如果你想使用任何语言连接到redis,你需要一个客户端来做。

redis facade 是 laravel 框架的 redis 包装器,您可以使用 predis 以及其他客户端,例如 phpredis.

Facade 为 类 提供了一个“静态”接口,可在应用程序的服务容器中使用。 Laravel 附带许多外观,可以访问几乎所有 Laravel 的功能。 Laravel facades 充当服务容器中底层 类 的“静态代理”,提供简洁、富有表现力的语法,同时保持比传统静态方法更多的可测试性和灵活性。

你可以在没有外观的情况下连接到redis,但是你需要在每次调用时定义配置(或者需要创建自己的助手)。但是使用 facade 你只需在 laravel 配置或 .env

上设置配置

使用不带外观的 Predis 的示例:

$client = new Predis\Client([
    'scheme' => 'tcp',
    'host'   => '10.0.0.1',
    'port'   => 6379,
]);
$responses = $client->transaction()->set('foo', 'bar')->execute();

使用门面:

$responses = Redis::set('foo','bar');