Spring 缓存 - 忽略键的参数

2024-01-17

我想缓存一个具有可选参数(下面示例中的用户代理)的简单 getter 的结果。如何在不考虑可选用户代理参数的情况下指示创建密钥?

@Cacheable(value="bookCache")
public Book getBooks(@RequestHeader(value = "user-agent", required = false) String userAgent) 
...

您可能不需要实现自定义KeyGenerator只是忽略可选的用户代理方法参数。你能做的就是定义你的key具有某些字符串值的属性,例如"books":

@Cacheable(value="bookCache", key = "'books'")
public Book getBooks(@RequestHeader(value = "user-agent", required = false) String userAgent) {
    // ...
}

然后你的值将被缓存在图书缓存缓存区域,在key "books".

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

Spring 缓存 - 忽略键的参数 的相关文章

随机推荐

  • 跳过 C++ 函数中的一些参数?

    我有一个 C 函数 有 5 个参数 所有参数都有默认值 如果我传入前三个参数 程序将为最后两个参数分配一个默认值 有没有办法传递 3 个参数 并跳过中间的一个 给出第一个 第二个和第五个参数的值 不直接 但你也许可以使用 std bind
  • 使用访问令牌在私人存储库上获取 Github GET

    我的组织中有一个私人存储库 我需要提供访问权限 我希望能够通过 GET 请求 浏览器 访问文件 我没有终端或卷曲或任何其他工具 我创建了一个链接到我的组织的虚拟帐户 我去了https github com settings tokens h
  • 如何调整 Spring Data JDBC 的 NamingStrategy

    我如何调整 Spring Data JDBCNamingStrategy表现得像 Hibernate 一样PhysicalNamingStrategy 我有以下实体 Campus domain model class Handles inf
  • 是否可以制作 HTML 标签? [复制]

    这个问题在这里已经有答案了 是什么阻止我这样做
  • 如何在 ReactiveUI 7 中正确直接调用 ReactiveCommand.Execute()?

    我正在尝试将我的项目从 ReactiveUI 6 5 转换为版本 7 在旧版本中我调用 var command ReactiveCommand Create if command CanExecute null command Execut
  • gitignore 是否会阻止 git 拉取文件?

    对于 gitignore 文件的功能有以下几种描述 gitignore 指定要忽略的故意未跟踪的文件 git https git scm com docs gitignore 有时 您不希望 Git 将某些文件签入到 GitHub 有几种方
  • 字符串replace()和replaceAll()之间的区别

    java lang String 之间有什么区别replace and replaceAll 方法 除了后者使用正则表达式 对于简单的替换 例如替换 with 有什么区别吗 In java lang String https docs or
  • Youtube API V3 Java 任何可能无需调用浏览器上传视频

    嗨 我希望有人可以帮助我 我的本地计算机上有一个 Java 应用程序 我正在尝试将视频上传到 YouTube 将视频上传到经过身份验证的用户的频道 使用 OAuth 2 0 授权请求 效果很好 源代码来自Youtube API V3 类名称
  • 覆盖烧瓶蓝图中的路线

    有一个蓝图 定义了很多有用的路线 但我无法控制它 无法以任何方式更改它的代码 尝试在不同的应用程序中重用它 但蓝图的端点之一必须重载 我怎样才能做到这一点 我尝试在现有路线的基础上添加一条新的蓝图路线 blueprint route my
  • 行背景颜色 GtkTreeView 小部件

    我正在尝试将 gtk 树视图小部件中禁用的行着色为浅灰色 根据我所读到的内容 我应该设置相应 cellrenderer 的 background gdk 属性并将其绑定到模型列 这种作品 Gtk CellRendererText textR
  • 程序化 Jetty 关闭

    如何以编程方式关闭嵌入式jetty服务器 我像这样启动码头服务器 Server server new Server 8090 server start server join 现在 我想根据请求关闭它 例如http 127 0 0 1 80
  • 获取远程文件的最后修改日期

    我想通过curl 获取远程文件的最后修改日期 有谁知道这是怎么做到的吗 你可能可以使用这样做curl getinfo http php net manual en function curl getinfo php
  • Delphi:如何聚合 TClientDataset 中的范围记录?

    我需要使用一些聚合TClient数据集 在 SQL 中 这些聚合可以使用如下脚本完成 Select Sum column1 from table1 where Date Column lt Date Value 因为我在很长的过程和非常慢的
  • Symfony 2 Assetic 致命错误:在资产转储上找不到类“Assetic\Util\PathUtils”

    我将 Symfony 版本 2 1 10 与 Assetic 一起使用 在上次作曲家更新后 当我尝试运行时出现以下错误php app console assetic dump Dumping all dev assets Debug mod
  • 如何增加 vim 中行号边距的间距?

    我的 vim 配色方案有问题 source tinygrab com http new tinygrab com ca56d2c7a8e13f7077012bece6abd90e png 行号与代码太接近 如何增加行号右边距的宽度 这也困扰
  • 如何在 Eloquent ORM laravel 中获取最后一个插入 id

    我正在使用 Eloquent ORM in Laravel 执行数据库操作 我只想获取数据库中最后一次插入的id 不是最大id 我搜索了 laravel Eloquent ORM 中的最后一个插入 id 我得到了以下链接 Laravel 使
  • DataTables 渲染自定义列

    是否可以在 DataTables net 中呈现自定义列 我已经阅读了很多教程和文档 但无法使其正常工作 我想创建带有链接的第三列 我在其中使用第一列中的信息 我的代码如下所示 document ready function categor
  • java 正则表达式:替换 ${var}

    我正在尝试替换一个字符串 例如 Hello my name is name I am age years old with Hello my name is Johannes I am 22 years old 变量存储在 HashMap
  • canvas.toDataURL() 导致安全错误

    我正在使用 HTML5 画布和 toDataURL 功能通过动力学JS http www html5canvastutorials com kineticjs html5 canvas stage data url with kinetic
  • Spring 缓存 - 忽略键的参数

    我想缓存一个具有可选参数 下面示例中的用户代理 的简单 getter 的结果 如何在不考虑可选用户代理参数的情况下指示创建密钥 Cacheable value bookCache public Book getBooks RequestHe