我的应用程序有3-4个用redis实现的@cacable方法。所有方法都使用带有2-3个字段的键,但它们都有一个共同的字段:submfileid。例如:
@Cachable
public Contract getContract (Long submFileId, Long contractId) { ...
@Cachable
public Member getMember (Long submFileId, Long memberId) { ...
当对特定子mfileid的处理完成时,我要逐出特定子mfileid、协定和成员的所有缓存数据。在那个时候,我可能不知道用作缓存键的所有contractrid和memberid值。
建议?有没有办法只通过submfileid设置一个次要的非唯一键,这样我就可以单独删除该值?有更好的方法吗?
最佳答案
这是一个过于狭窄的用例,无法由注释处理。在您自己的代码中注入Cache
,然后做您喜欢的任何事情。即使您以编程方式访问抽象,您仍将从中受益。