在 Symfony 上设置 Redis 缓存前缀键

2023-12-19

我正在使用 Redis 来管理 Symfony 3.4 应用程序中的一些缓存,配置如下:

配置.yml

framework:
    cache:
        default_redis_provider: 'redis://127.0.0.1:6379'
        pools:
            cache.catalog:
                adapter: cache.adapter.redis
                provider: iwid.custom_redis_provider
                default_lifetime: 86400
                public: true
            cache.language:
                adapter: cache.adapter.redis
                provider: iwid.custom_redis_provider
                default_lifetime: 86400
                public: true

服务.yml

services:
    iwid.custom_redis_provider:
        class: Redis
        factory: ['Symfony\Component\Cache\Adapter\RedisAdapter', 'createConnection']
        arguments:
            - 'redis://127.0.0.1:6379'
            - { retry_interval: 0, timeout: 30 }

现在,这在开发和生产环境中就像一个魅力,除了生产中的一件事:当我部署新版本时,我的部署系统创建一个新文件夹 and git pull在里面,然后将此文件夹定位为当前 rootdir带有符号链接。

然后,当我部署任何版本时,我的 Redis 键的前缀会更改,因为我的应用程序的路径不同。然后,这显然会使任何以前缓存的密钥无效......这不是我想要的!

所以,我可以改变这一点,可能是通过拥有一种“固定”缓存键(显然每个池一个)。

非常感谢任何帮助!


是的,你必须设置一个固定密钥(正如他们在交响乐文档 https://symfony.com/doc/current/reference/configuration/framework.html#prefix-seed).

您还可以使用环境名称(dev、staging、prod...-SYMFONY_ENV or APP_ENV)与应用程序名称(例如,如果您想使用相同的 Redis 集群进行暂存和生产)。

framework:
    cache:
        ...
        prefix_seed: '%kernel.environment%_myapp'
        ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Symfony 上设置 Redis 缓存前缀键 的相关文章

  • 为什么我必须明确告诉 Spark 要缓存什么?

    在 Spark 中 每次我们对 RDD 执行任何操作时 都会重新计算 RDD 因此 如果我们知道 RDD 将被重用 我们应该显式地缓存 RDD 比方说 Spark 决定延迟缓存所有 RDD 并使用 LRU 自动将最相关的 RDD 保留在内存
  • Symfony2将上传的文件分配到内存

    上传的文件大于帖子最大大小在 Symfony 中 上传的文件是在内存中分配的 致命错误 允许的内存大小 150994944 字节已耗尽 已尝试 分配 84627994 字节 Applications MAMP htdocs Symfony
  • 在 Twig 模板中的翻译内容中添加链接

    在 Twig 模板中 我需要一个包含链接的翻译文本 路径应该由路由器生成 而不是静态嵌入 Twig 不允许在 trans 块内渲染变量 我还知道以下内容 trans with name Fabien from app Hello name
  • Symfony 权限被拒绝

    谁能帮我解决我收到的以下错误消息 我终于在虚拟机上安装了 Symfony 它似乎工作正常 除了我偶尔收到这样的消息 1 2 ContextErrorException Warning SessionHandler read open var
  • 在python中缓存数据库数据

    在项目中 我需要缓存从每个请求获取的数据库数据 这样从下次开始 将从缓存而不是数据库中选取数据 表行 从而提高性能 在数据库中 我有超过 10M 的数据行 我正在浏览烧杯缓存文档 从中看来它只会将函数和参数一起缓存为键 那么这如何存储我的主
  • Doctrine2 批量插入

    是否可以使用单个查询将多个实体插入数据库 当我使用一个例子时here http docs doctrine project org projects doctrine orm en 2 0 x reference batch process
  • JPA 和枚举类型

    我将一个枚举类型字段用于 JPA 实体 Enumerated value EnumType STRING private Temperament temperament Temperament MINEUR PUR 我的枚举在我的实体内声明
  • 缓存可用于 WCF 和 ASP .NET 应用程序 (.NET 3.5)

    我需要可以在 WCF 和 ASP NET 应用程序中使用的缓存工具 我见过 System Web Caching Cache这在 WCF 中不可用 据我所知 只有当服务托管在 IIS 中时它才可用 但情况并非总是如此 System Runt
  • HTTP 缓存的授权检查

    我有如下列出的 Web API 方法 用于REST服务 这是为了获取库存审核员的所有用户信息 只有授权的 Inventory Auditor 用户才能访问此资源 RoutePrefix api users public class User
  • 如何扩展 Sonata\DoctrineORMAdminBundle\Model\ModelManager

    我想在 ModelMangaer 中进行一些更改 然后我扩展了 ModelManager 但它不起作用 我不知道为什么 有人告诉我为什么它不起作用吗 我扩展 Sonata DoctrineORMAdminBundle Model Model
  • 对于 ServiceWorker cache.addAll(),URL 是如何工作的?

    我看到很多这样的示例代码 稍微缩短的版本这个 Mozilla 文档 https developer mozilla org en US docs Web API Cache addAll this addEventListener inst
  • Symfony 4 应用程序可与 Docker Compose 配合使用,但无法与 Docker Swarm 配合使用(无法登录,分析器损坏)

    我在用着Docker 组合本地 app容器 Nginx PHP FPM with a 交响乐4 app PostgreSQL容器 Redis容器 它在本地运行良好 但部署到开发中时效果很好码头工人群集群 我无法登录 Symfony 应用程序
  • 原则 2 使用 QueryBuilder 进行条件多行更新

    这个问题有一些答案 但实际上 它们似乎都无法帮助完成一项简单的任务 我需要使用 Doctrine2 QueryBuilder 根据一个查询中的条件更新多行 最明显的方法应该是错误的 userAgeList user name a gt 30
  • XDebug 与 Symfony 和 PhpStorm 不起作用(Ubuntu 安装)

    关于我的系统的事实乌班图15 10PHP 5 6 11交响乐2 7PhpStorm 10调试2 4我真的很难让 xdebug 在 PhpStorm 的 Symfony 项目下工作 我安装了xdebug 在我的 etc php5 apache
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样
  • 如何指定Google API获取生日的范围

    我正在尝试获取birthday来自 Google API 但检索到的数据在HWIOAuthBundle不包含它 我想知道是否指定范围google plus apiconfig yml 中的内容是否正确 如果没有 请提供链接或更正的范围 go
  • 功能测试 - 模拟服务不会保留在服务容器中

    我希望有人能够对我面临的这个问题有所启发 问题 我在功能单元测试中模拟了doctrine orm default entity manager 服务 我将其注入客户端服务容器中 这样我就不必在功能测试过程中访问我的数据库 对于仅涉及 GET
  • 原则 2 使用 LIKE 进行查询

    我有这个查询代码 repository em gt getRepository AcmeCrawlerBundle Trainings query repository gt createQueryBuilder p gt where p
  • Symfony 3 - 你请求了一个不存在的服务,这让我发疯

    所以 这不是我第一次创建服务 但我只是无法解决错误 您请求了一个不存在的服务 global settings 我为确保服务正确设置而采取的步骤 My AppBundleExtension php namespace AppBundle De
  • Symfony2 学说:生成:实体 chmod 操作不允许

    最近在开发机器上从 2 3 1 升级到 2 8 7 一切都很顺利 直到我需要创建一个新表 设法通过原则生成 yml 罚款 映射 转换 当我通过原则创建 getter 和 setter 时 generate entities 我得到了这个 S

随机推荐

  • 如何将引导类添加到模板中的 Django CreateView 表单字段?

    我正在使用 Django CreateView 在模板中我可以单独设置标签和字段 但是 我无法添加我需要的引导类 目前 我有以下表格
  • Powershell NetSecurity 模块在哪里?

    我似乎找不到NetSecurity我的系统上的模块 我正在使用一个Amazon Windows 2008 Server R2 SP1实例 Get Module ListAvailable在我的环境中返回这个 ActiveDirectory
  • 我可以从 Perl 中的进程捕获 STDOUT 写入事件吗?

    我需要 愿意 使用以下方式从 Web 应用程序生成一个缓慢的进程Minion https metacpan org pod Minion queue 该过程 aGLPK https en wikipedia org wiki GNU Lin
  • 为什么我的 MySQLi 连接这么慢?

    我的本地系统大约需要 1 秒才能建立 MySQLi 连接 代码 db new mysqli localhost root pass mydb 为什么这么慢 这是正常的吗 我可以改进吗 将 localhost 切换为 127 0 0 1 所以
  • 生成单词所有变体的算法

    我想通过以下示例来解释我的问题 假设单词 abc a 有变体 b 没有变体 c 有变体 所以可能的词是 abc bc bc ab b b 现在我正在寻找一种算法 可以打印具有任意字母变体的任意单词的所有单词变体 我建议你递归地解决这个问题
  • Flutter SVG 渲染

    我尝试将带有 SVG 源的图像添加到我的 flutter 应用程序中 new AssetImage assets images candle svg 但我没有得到任何视觉反馈 如何在 Flutter 中渲染 SVG 图片 对于很多情况来说
  • 如何使用 isinstance 测试所有可能的整数类型

    使用整数时 有多种可用类型 例如 int numpy int8 numpy int16 等 如果我编写一个通用函数 要求一个变量为整数 我如何针对 Python numpy 中所有可能的 整数 类型测试该类型 关于浮动也可以提出同样的问题
  • 是否可以在文字上而不是接口上使用“keyof”运算符?

    我有一个如下所示的对象文字 所有属性在编译时都是已知的 const foo hello hola If foo是一个接口而不是一个变量 我可以轻松地做类似的事情 THEORETICAL ONLY Does not compile funct
  • 如何在视频索引器 api 中使用 python 上传视频文件?

    我正在尝试使用 Python 在 Video Indexer API 中上传视频 import http client urllib request urllib parse urllib error base64 headers Requ
  • 谷歌代码下载源码

    这可能是一个非常愚蠢的问题 但对于我来说 我不知道如何下载它 http code google com p xmppframework source browse hg 253Fstate 253Dclose http code googl
  • 如何将数组中的值作为变量引用?

    例如 如果我有数组 DeviceArray Array Sw Cap Gen Reg Tr Br 我想将所有内容初始化为诸如 0 之类的值 这相当于为此编写一个 for 循环 以便将数组中的值视为变量名 以便我可以间接修改变量值 For i
  • 有没有办法限制 firebase 中的注册

    有没有办法限制用户注册 firebase 电子邮件 密码帐户 以便新用户无法注册 我有一个小应用程序 只有少数管理员需要访问 我在 Firebase 管理员中手动创建的 并且它现在的设置方式似乎任何人都可以注入一些 javascript 并
  • 如何确定元组是否包含类型?

    假设我想创建一个编译时异构容器unique来自某些非唯一类型序列的类型 为了做到这一点 我需要迭代源类型 某种tuple 并检查每种类型是否已存在于我的 唯一 元组中 我的问题是 如何检查元组 或boost fusion容器 包含一个类型
  • 为什么要在匿名 function() 调用中嵌入 JavaScript 类?

    我正在阅读有关 Microsoft 的新的类似 JavaScript 的语言 称为打字稿 http www typescriptlang org 在里面游乐场 示例部分 http www typescriptlang org Playgro
  • 可以反向播放皮肤动画吗? [三.js]

    我将如何向后播放动画 我尝试给动画处理程序提供负增量 但这只会阻止它 从动画的 this currentTime 中减去增量也不起作用 有任何想法吗 Since 三 js r69 https github com mrdoob three
  • AzureB2C 自定义策略:无效请求,提供的 id_token_hint 参数不包含接受的颁发者

    我只是按照页面上的教程创建了一个证书并将其公开给 azure 门户 我还上传了策略文件并与我的租户一起修改了它们 我正在本地主机上运行该应用程序 但是当我想浏览到该链接时 我在 jwt ms 中收到以下错误 AADB2C90232 The
  • 经典 ASP - 无法从 AJAX Post 请求获取 Request.Form 值

    我有一个通过 AJAX 提交表单 POST 请求的脚本 当我查看网络选项卡时 它以下面的格式返回 我无法使用标准格式读取该格式Request Form在经典 ASP 中 由于 AJAX 请求 我看到此服务器变量也添加到页面请求中 HTTP
  • jQuery 中提供了哪些钩子?

    仅限官方 cssHooks记录在jQuery API 文档 http api jquery com jQuery cssHooks and valHooks在句子中提到了已知问题的解决方法 val http api jquery com v
  • CAScrollLayer 不滚动!

    也许是因为来晚了 不管出于什么原因 我无法弄清楚为什么我在尝试使用简单的 CSScrollLayer 示例时遇到问题 我将一个 50 像素的 Eclipse 图标添加到基于视图的项目中 并在我的初始化方法中 从 initWithNibNam
  • 在 Symfony 上设置 Redis 缓存前缀键

    我正在使用 Redis 来管理 Symfony 3 4 应用程序中的一些缓存 配置如下 配置 yml framework cache default redis provider redis 127 0 0 1 6379 pools cac