2016-08-19 4 views
0

Я новичок в кэширование и весну, я не могу работать разницу между cacheNames и ключом в приведенном ниже примере взята из Спринга Docs:разница между cacheNames и ключом в @cachable

@Cacheable(cacheNames="books", key="#isbn") 
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed) 

Как я понимаю кэш это просто пара ключ-значение, хранящаяся в памяти. Таким образом, в приведенном выше примере при первом вызове возвращаемое значение Book будет храниться в кеше с использованием значения параметра isbn как ключа. При последующих вызовах, где значение isbn совпадает с первым запросом, будет возвращена книга, хранящаяся в кеше. Эта книга в кеше будет найдена с помощью ключа. Итак, что такое cacheNames?

Я правильно говорю кэш хранится в качестве ключевых значений, как это:

isbn111111 ---> Book, 
isbn122222 ---> Book2, 
isbn123333 ---> Book3 

Спасибо заранее.

ответ

0

Имена кешей - это имена самих кэшей, в которых хранятся данные. Вы можете иметь несколько кешей, например. для разных типов сущностей разных кэшей или в зависимости от потребностей репликации и т. д.

+0

С помощью - ключ используется для извлечения значения, хранящегося в кеше, поэтому почему кеш-имена или имеющие более одного кеша? – webDeveloper

Смежные вопросы