我的应用程序有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设置辅助非唯一键,所以我可以单独删除该值?有更好的方法吗?
答案 0 :(得分:1)
这是一个由注释处理的过于狭窄的用例。在您自己的代码中注入Cache
并执行您喜欢的任何操作。即使您以编程方式访问它,您仍然可以从抽象中受益。