SpringBoot @Cachable Redis按部分键删除

时间:2017-10-02 11:52:29

标签: 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设置辅助非唯一键,所以我可以单独删除该值?有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

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