【发布时间】:2016-08-19 16:16:57
【问题描述】:
我是缓存和 Spring 的新手,我无法在 Spring Docs 的以下示例中找出 cacheNames 和 Key 之间的区别:
@Cacheable(cacheNames="books", key="#isbn")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
据我了解,缓存只是存储在内存中的键值对。因此,在上面的示例中,第一次调用时,返回的 Book 值将使用 isbn 参数的值作为键存储在缓存中。在 isbn 值与第一次请求相同的后续调用中,将返回存储在缓存中的 Book。将使用 Key 找到缓存中的这本书。那么什么是cacheNames?
我说缓存存储为这样的键值是否正确:
isbn111111 ---> Book,
isbn122222 ---> Book2,
isbn123333 ---> Book3
提前致谢。
【问题讨论】: