java - SpringBoot @Cachable Redis 部分键删除

标签 java caching redis spring-cache

我的应用程序有 3-4 个使用 Redis 实现的 @Cachable 方法。所有方法都使用一个包含 2-3 个字段的键,但它们都有一个共同字段:submFileId。例如:

@Cachable
public Contract getContract (Long submFileId, Long contractId) { ...

@Cachable
public Member getMember (Long submFileId, Long memberId) { ...

当对特定 submFileId 的处理完成时,我想逐出特定 submFileId、Contract 和 Member 的所有缓存数据。那时我可能不知道用作缓存键的所有 contractrId 和 memberId 值。

建议?有没有办法仅通过 submFileId 设置辅助非唯一键,以便我可以单独删除该值?有没有更好的方法?

最佳答案

这是一个过于狭窄的用例,无法由注释处理。在您自己的代码中注入(inject) Cache 并执行任何您喜欢的操作。即使您以编程方式访问它,您仍然会从抽象中受益。

关于java - SpringBoot @Cachable Redis 部分键删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46524941/

相关文章:

java - Hibernate 使用一级或二级缓存加载所有实体

CSS-从缓存加载图像

redis - Spring Data Redis - 支持命令 PUBSUB CHANNELS

python-2.7 - 我需要将一个服务器 app.py 中的 json 数据发送到另一个服务器 app.py 服务?

optimization - Lua中两个表的区别

java - 从内部类中获取数组列表的值

java - 进度条未显示在布局中

java - 从数据库表生成 java 域对象

JavaFX - 更新鼠标单击事件的 UI

caching - L1缓存通常是分体式设计,而L2、L3缓存却是统一设计,为什么呢?