Aspect Cache — это облегчённый кеш для Spring Boot, который использует аспектно-ориентированное программирование и аннотации. В настоящее время Aspect Cache поддерживает EHCache и Redis.
Aspect Cache может работать с POJO, Map и List, а также позволяет настраивать ключи кеша и логику работы с кешем. Для генерации ключей кеша используется Spring Expression Language (SpEL).
<dependency>
<artifactId>aspect-cache</artifactId>
<groupId>com.gosalelab</groupId>
<version>1.0.0</version>
</dependency>
@EnableAspectCache
Параметр | Значение | Тип | По умолчанию | Обязательно | Описание |
---|---|---|---|---|---|
com.gosalelab.cache | enable | boolean | false | Да | Включить Aspect Cache |
com.gosalelab.cache | provider | String | eh | Да | Провайдер кеша: EHCache или Redis |
com.gosalelab.cache | expire-time | int | 3600 секунд (полчаса) | Нет | Время жизни кеша |
com.gosalelab.cache | key-generator | String | default | Нет | Генератор ключей кеша. Можно использовать собственный класс, реализовав интерфейс KeyGenerator |
Для настройки EHCache можно использовать следующие параметры:
Параметр | Значение | Тип | По умолчанию | Обязательно | Описание |
---|---|---|---|---|---|
com.gosalelab.cache.ehcache | default-cache-name | String | ehcache_cache | Нет | Имя кеша EHCache по умолчанию |
com.gosalelab.cache.ehcache | disk | int | 200 | Нет | Размер диска в МБ |
com.gosalelab.cache.ehcache | ehcache-file-name | String | ehcache.xml | Нет | Файл конфигурации EHCache. Используется, если установлен параметр com.gosalelab.cache.ehcache.use-xml-file-config
|
com.gosalelab.cache.ehcache | max-entries-local-heap | int | 1000 | Нет | Максимальное количество элементов в куче |
com.gosalelab.cache.ehcache | off-heap | int | 20 | Нет | Максимальный размер некучевого пространства в МБ |
com.gosalelab.cache.ehcache | use-xml-file-config | boolean | False | Нет | Использовать файл конфигурации XML |
Для настройки Redis можно использовать следующие параметры:
Параметр | Значение | Тип | По умолчанию | Обязательно | Описание |
---|---|---|---|---|---|
com.gosalelab.cache.redis-cache | database | int | 0 | Нет | База данных Redis |
com.gosalelab.cache.redis-cache | host | String | 127.0.0.1 | Нет | Адрес сервера Redis |
com.gosalelab.cache.redis-cache | max-idle | int | 100 | Нет | Максимальное число неактивных соединений |
com.gosalelab.cache.redis-cache | max-total | int | 1000 | Нет | Общее максимальное число соединений |
com.gosalelab.cache.redis-cache | max-wait-millis | int | 1000 | Нет | Максимальная задержка при получении соединения в миллисекундах |
com.gosalelab.cache.redis-cache | min-idle | int | 20 | Нет | Минимальное число неактивных соединений |
com.gosalelab.cache.redis-cache | password | String | / | Нет | Пароль для подключения к серверу Redis |
com.gosalelab.cache.redis-cache | port | int | 6379 | Нет | Порт сервера Redis |
com.gosalelab.cache.redis-cache | timeout | int | 2000 | Нет | Таймаут подключения в миллисекундах |
Использование SpEL:
@CacheInject
: для записи и чтения из кеша;key
: ключ кеша;expire
: время жизни кеша в секундах;pre
: префикс ключа кеша;desc
: описание;opType
: тип операции с кешем (CacheOpType.READ_WRITE
, CacheOpType.WRITE
или CacheOpType.READ_ONLY
).@CacheEvict: для удаления элемента из кеша.
key
: ключ элемента;pre
: префикс ключа элемента;desc
: описание.properties
в корне проекта;CacheProperties
для инициализации конфигурации;@NestedConfigurationProperty
к файлу CacheProperties
;application.properties
.@CacheInject
— для записи в кеш и чтения из него;@CacheEvict
— для удаления элементов из кеша.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )