我使用 redis 作为缓存,以帮助提高生成成本高的数据的应用程序性能。目前我们只有一个 redis 实例正在运行,我观察到如果 redis 不可用 - 则返回 500 错误。
鉴于我正在缓存 - 如果 redis 已关闭,我宁愿继续处理并在省略数据的情况下呈现该页面。
我已经使用基本的 php try - catch 块进行了测试 - 但我无法捕获异常。
public function redisAction()
{
try {
$redis = $this->container->get('snc_redis.default');
$val = $redis->get('foo:bar');
} catch (Exception $e ) {
$response = new Response('Oops ');
return $response;
}
....
}
有没有其他方法我可以采取 - 我也在调查 sncredis 包,看看它是否可以在那里解决。