SpringBoot @Cachable Redis 部分键删除

SpringBoot @Cachable Redis delete by partial key

我的应用程序有 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 设置辅助非唯一键,以便我可以单独删除该值?有没有更好的方法?

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