在Symfony中实现服务/控制器之间共享Redis连接/RedisCache可以通过以下步骤完成:
services:
redis.client:
class: Redis
arguments:
- '%env(REDIS_DSN)%'
这里的REDIS_DSN
是一个环境变量,用于指定Redis连接的DSN(数据源名称)。可以根据实际情况进行配置。
use Symfony\Component\Cache\Adapter\RedisAdapter;
class MyService
{
private $redis;
public function __construct(Redis $redis)
{
$this->redis = $redis;
}
public function doSomething()
{
// 使用$this->redis来操作Redis连接
$cache = new RedisAdapter($this->redis);
// ...
}
}
在上述示例中,通过构造函数注入Redis服务,并将其保存在私有属性中。然后可以在需要的地方使用该属性来操作Redis连接。
services:
redis.client:
class: Redis
arguments:
- '%env(REDIS_DSN)%'
shared: true
通过将shared
选项设置为true
,可以确保每次获取Redis服务时都返回同一个实例。
至此,就可以在Symfony服务/控制器之间共享Redis连接/RedisCache了。通过依赖注入方式获取Redis服务,并在需要的地方使用它来操作Redis连接。
领取专属 10元无门槛券
手把手带您无忧上云