gpt4 book ai didi

symfony - 失去与 Redis 服务的连接

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

我们在 Swisscom 提供的 Cloudfoundry 实例上部署了一个 Symfony 应用程序。此外,我们还使用 Swisscom 提供的 Redis 服务进行缓存。

现在发生了两次 Redis 连接超时,这导致我们的应用程序失败:

Redis connection failed (connect() failed: Connection timed out): redis://password@domain.service.consul:47133

一些技术信息:

  • symfony/symfony (v3.3.9)
  • predis/predis (v1.1.1)
  • 对比版本 6.32.0+0191c33d9.2017-09-26

config.yml看起来像缓存:

framework:
cache:
system: cache.adapter.apcu
default_redis_provider: redis://%redis_password%@%redis_host%:%redis_port%
pools:
redis_pool:
adapter: cache.adapter.redis
public: true
default_lifetime: 0
provider: cache.default_redis_provider

并用作此处定义的服务:

tag_aware_cache:
class: Symfony\Component\Cache\Adapter\TagAwareAdapter
arguments: [ '@redis_pool' ]

据我了解,我们没有使用任何与 Redis 的持久连接,它通常工作正常。

到目前为止,我发现使应用程序恢复稳定和运行状态的唯一解决方案是重新部署整个应用程序,这并不是一个很好的解决方案。

特别是我不明白根本原因是什么。我如何自行检查,Swisscom 是否确定 Redis 服务本身运行完全稳定?

最佳答案

您可以在对您的应用程序使用“cf ssh”时直接访问该服务。 Swisscoms 文档中描述了有关如何使用“cf ssh”访问服务的完整过程:https://docs.developer.swisscom.com/devguide/deploy-apps/ssh-apps.html

您的应用应该能够自行处理连接问题。通常一个简单的重试可以防止应用程序崩溃。

关于symfony - 失去与 Redis 服务的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46770530/

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