我正在通过Spring的缓存抽象功能和this线引起了我的注意
虽然在大多数情况下,只声明了一个缓存,但注释允许 要指定多个名称,以便存在多个缓存 使用
以上行是指其文档中的上述声明后面的代码段。
@Cacheable({"books", "isbns"})
public Book findBook(ISBN isbn) {...}
为什么需要为同一方法提供多个缓存?对于需要缓存的每个行为(函数),单个缓存是否足够?什么是适当的用例呢?
答案 0 :(得分:3)
多个缓存名称意味着检查两个/每个缓存,如果在任何缓存中找到所需的密钥,则返回缓存的值并且不调用方法体。
一个可能的用例是当您拥有从不同来源填充的缓存(例如数据库加载和在线/休息服务调用)时,您必须同时检查这两个缓存。
事实上,在大多数情况下,只有一个缓存就足够了。