gpt4 book ai didi

php - 如何指示 predis 在出现错误时继续

转载 作者:行者123 更新时间:2023-12-01 18:34:09 25 4
gpt4 key购买 nike

如果 Redis 失败,是否可以指示 php predis ( https://github.com/nrk/predis ) 继续运行而不死掉?

我有Redis来处理应用程序缓存,但是应用程序可以在没有缓存的情况下运行,它只是对数据库的影响更大。我更喜欢回退到数据库,然后让应用程序死亡。我找不到一种方法来指示 predis 在失败时继续。

我认为将连接限制设置为大约 5 秒,如果无法连接到 Redis,应用程序应该继续。

这可能吗?

Fatal error: Uncaught Predis\Connection\ConnectionException: Operation timed out [tcp://128.0.0.1:6379]

最佳答案

您可以捕获连接异常并回退到数据库。示例:

try {
return $predis->get('foobar');
} catch(\Predis\Connection\ConnectionException $ex) {
// fallback to database call
}

为了使代码更清晰,请将数据库/redis 调用包装在一个新类中,该类抽象出实际连接,这样您的调用代码就不需要关心使用了哪个数据源。

关于php - 如何指示 predis 在出现错误时继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613208/

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