gpt4 book ai didi

php - 如果 redis 不可用,Symfony SncRedis Bundle 异常处理

转载 作者:可可西里 更新时间:2023-11-01 11:13:49 28 4
gpt4 key购买 nike

我将 Redis 用作缓存,以帮助提高有关生成成本高的数据的应用程序性能。目前我们只有一个 redis 实例在运行,我观察到如果 redis 不可用,则会返回 500 错误。

鉴于我正在缓存 - 我宁愿在 redis 关闭时继续处理并在省略数据的情况下呈现该页面。

我已经使用基本的 php try - catch block 进行了测试 - 但我无法捕获异常。

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 包以查看是否可以在那里解决它。

最佳答案

鉴于您没有在类的顶部包含 use Exception,您将需要添加前导反斜杠 ... 否则 PHP 将 try catch Your\Current\Namespace\Exception 不存在。

catch (\Exception $e ) {
// ...
}

但是我不确定如果请求的key不存在redis是否抛出异常(其实我不这么认为)。

您可以使用 exists() 方法来检查 key 是否存在。

if ($redis->exists("foo:bar")) {
return new Response('Oops');
}

关于php - 如果 redis 不可用,Symfony SncRedis Bundle 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19573073/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com