gpt4 book ai didi

symfony - 部署时清除 redis 中的学说缓存

转载 作者:IT王子 更新时间:2023-10-29 05:56:49 24 4
gpt4 key购买 nike

我们将 doctrine 缓存保存在 redis 中,并使用 capistrano 进行部署。一切正常,直到我们必须删除实体上的字段。

当执行 composer 中的安装后命令时,我们会收到如下错误:

[ReflectionException] ** [out Property Entities\PlayerRecord::$shirtNumber does not exist

$shirtNumber 是我们删除的字段。为了能够继续,我们只需要清除原则缓存,但因为它在 redis 数据库中,所以缓存与生产共享。

问题是我们如何在每次部署时动态更改 redis 的连接设置?我想到的唯一想法是:

  1. 在部署开始时修改 parameters.yml
  2. 使用每次部署都会改变的环境变量
  3. 将 redis 连接设置移动到另一个文件,该文件将符号链接(symbolic link)到其中一个配置

您还有其他想法或者您认为哪个更好?

最佳答案

看来我是因为自己缺乏知识而试图把事情复杂化。

我使用 Doctrine Cache namespaces 解决了这个问题

我正在使用 SncRediBundle解决方案就是使用这个配置:

  doctrine:
metadata_cache:
client: cache
namespace: "%kernel.root_dir%"
entity_manager: default

关于symfony - 部署时清除 redis 中的学说缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28050200/

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