gpt4 book ai didi

php - 为什么我应该关闭或保持 Redis 连接打开?

转载 作者:IT王子 更新时间:2023-10-29 06:02:31 26 4
gpt4 key购买 nike

我在 PHP 项目中使用 Redis。我使用 phpredis 作为客户端。有时,在较长的 CLI 脚本中,我会遇到 PHP 段错误。

我之前遇到过phpredis在连接超时的时候出现问题。由于我的 Redis 配置被配置为在 300 秒后自动关闭空闲连接,我猜这会导致段错误。

为了能够选择是增加连接超时还是默认为0(即“永不超时”),我想知道可能的优点和缺点是什么?

为什么我不应该关闭连接?
为什么我应该确保连接不会保持打开状态?

谢谢

最佳答案

通常,打开连接是一项代价高昂的操作,因此现代最佳实践是让它们保持打开状态。另一方面,打开的连接需要资源(来自数据库)进行管理,因此保持大量空闲连接打开也可能存在问题。这种权衡通常通过使用连接池来解决。

也就是说,更有趣的是为什么 PHP 会出现段错误。超时显然是由长时间运行的命令(在您的情况下为 CLI 脚本)引起的,该命令阻止 Redis(即 mostly single threaded )参与 PHP 应用程序的连接。虽然这是众所周知的 Redis 行为,但我希望 PHP(在客户端库中没有重新连接功能的事件)不会如此悲惨地拉屎。

关于php - 为什么我应该关闭或保持 Redis 连接打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569835/

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