问题标签 [symfony-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
446 浏览

symfony - Symfony 注释目录在 prod 环境中非常大

我在prod环境中有一个Symfony 2.8项目,但是每次更新代码后清理缓存太慢了。

查看缓存目录后,发现app/cache/prod下的注解目录很大,代码逻辑也很简单,只有几个twig page。

这个项目发生了什么,我该如何解决?

和我的composer.json:

0 投票
1 回答
1042 浏览

symfony - Symfony 缓存组件 - Redis 适配器

我已经使用 RedisAdapter 实现了 Symfony 缓存组件。现在我们喜欢在缓存键中使用冒号作为分隔符(例如 some:cache:key:25)。就像 Redis 推荐的那样。

我得到一个异常说“ contains reserved characters {}()/\@: etc.”。这在 Symfony 文档中进行了解释

( https://symfony.com/doc/3.4/components/cache/cache_items.html ) 这些是 PSR-6 中的保留字符。

我想知道是否有办法解决这个问题?因为我正忙于使用 Symfony 缓存组件重构缓存逻辑。但是键已经定义了,所以我不能在不违反约定的情况下更改它们。

0 投票
1 回答
763 浏览

php - 将参数传递给 Symfony 的 $cache->get()

恐怕我有一个初学者 PHP 问题。我正在使用 Symfony 的缓存组件。https://symfony.com/doc/current/components/cache.html

我在接收 2 个参数($url,$params)的函数内部调用缓存对象。

我的问题是,我无法访问缓存方法调用中的函数参数。$url 和 $params 为空。当然,我可以使用 MainController 类中的公共类变量将变量向后发送,但这似乎有点笨拙。

0 投票
2 回答
554 浏览

php - AWS EB 上的 Symfony - 缓存清除后无法写入缓存目录

我正在将 Symfony 4.4 应用程序部署到 AWS ElasticBeanstalk 并注意到每次部署后都没有清除缓存。

该应用程序运行良好,但陈旧的缓存异常。

为了解决缓存问题,我添加了以下文件:

/.ebextensions/deploy.config

这似乎清除了缓存,但后来它以某种方式更改了权限,以便我在尝试访问应用程序时收到错误。

致命错误:未捕获的 RuntimeException:无法写入缓存目录 (/var/app/current/var/cache/prod)

为什么运行cache:clear会更改权限,有没有办法避免这种情况发生,或者至少如何在之后解决,即在同一个/另一个.ebextensions文件中?

0 投票
0 回答
60 浏览

symfony - 是否可以通过 Symfony Cache 避免缓存 .env 文件?

我正在使用 Symfony 4,我想知道是否可以避免 Symfony Cache 组件将我的.env文件缓存在产品中 。主要原因是我试图不公开保存在那里的信息。

我现在正在考虑通过仅向 Apache 的用户添加+rwx权限来防止它,并且仅为组和其他用户添加 +x 权限。

我会很感激任何想法。谢谢你。

0 投票
2 回答
896 浏览

php - 如何在多个 Symfony 实例之间共享应用程序缓存(共享缓存池)?

我的 symfony 应用程序有多个在单独的 docker 容器中运行的实例

我已经配置我app.cache使用redis:

我有同样的prefix_seed

结果我进入redis是这样的:

从上面可以看出,2 个不同的实例试图通过相同的键从 redis 中获取值,workers.restart_requested_timestamp但即使使用相同的 . 前缀也是不同的prefix_seed

在这个例子中,我使用了 messenger 组件,我想通过stop-workers命令(通过共享的 redis)停止工作人员到处运行。但一般来说这与缓存配置有关。

如何克服这个问题并告诉两个应用程序使用同一个池?这是什么配置?

0 投票
5 回答
3275 浏览

symfony-3.3 - 作曲家安装或更新错误,出了什么问题

我有个问题。命令后

我收到错误消息

我究竟做错了什么?

我使用 git 获取所有项目,并且在一台计算机上都在运行,而在第二台计算机上没有运行。

0 投票
1 回答
486 浏览

php - 如何注入特定的缓存池?

在我的 Symfony 5 应用程序中,我想为不同的任务使用不同的缓存,当然还有不同的环境。

例如,我的配置如下所示:

我在我的类中使用依赖注入。那么我将如何定义特定类使用这两个缓存池中的哪一个呢?

目前我得到我的缓存是这样的:

如何配置我SapListService以使用 cache.sap 池?

0 投票
1 回答
175 浏览

symfony - Symfony 5 在条件下切换缓存适配器

我需要根据 ENV 条件切换 Symfony 缓存适配器。就像设置了某个变量一样,使用“cache.adapter.apcu”或使用“cache.adapter.filesystem”。

有可能吗?该文档对它并没有真正的帮助。

PS:我们不可能通过创建一个全新的环境来做到这一点

0 投票
1 回答
59 浏览

php - 如何使用 Symfony Cache 设置缓存项的键?

我正在尝试将缓存添加到现有的 Symfony 项目中。但我不确定如何最好地进行我得到一个带有 id 的数组。如果缓存中有项目,我会检查每个 id。如果没有,则中断并向数据库发送查询。然后我会得到结果,现在我可以将这些值存储在我的缓存中。但我不知道如何将 id 设置为键