На основе Spring Boot используется аннотированный кеш с лёгким управлением кешем.
@Cache легче, чем spring cache, поддерживает настройку срока действия для отдельного кеша и может удалять кешированные данные по префиксу.
Используются сериализация и десериализация Fastjson для хранения данных в кеше в формате json.
Ace-cache можно быстро использовать в повседневных приложениях Spring Boot.
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-cache</artifactId>
<version>1.0.0</version>
</dependency>
# 1.0.0 версия рекомендует использовать конфигурацию spring redis
spring:
redis:
database: 0
host: localhost
timeout: 2000
sysName: ace #по умолчанию ключ префикса
enable: true #включать ли ace-cache
userkey: #ключ сеанса, хранящийся в cookie или заголовке запроса
lettuce:
pool:
max-active: 300
min-idle: 100
max-wait: 1000
# Не рекомендуется использовать эту конфигурацию, она использовалась до версии 0.0.2
redis:
pool:
maxActive: 300
maxIdle: 100
maxWait: 1000
host: 127.0.0.1
port: 6379
password:
timeout: 2000
# имя сервиса или приложения
sysName: ace
enable: true
database: 0
@EnableAceCache
Параметр аннотации | Тип | Описание |
---|---|---|
key | строка | Выражение для динамического вычисления ключа кеша |
expires | целое число | Срок действия кеша в минутах |
desc | описание | Описание кеша |
scope | перечисление | Область действия кеша (сессия или приложение) |
parser | класс | Класс для обработки пользовательских результатов кеша |
generator | класс | Класс для генерации пользовательских ключей кеша |
result | массив классов | Массив типов возвращаемых значений кеша, по умолчанию первый элемент |
Параметр аннотации | Тип | Описание |
---|---|---|
pre | строка | Очистить кешированный ключ с определённым префиксом |
key | строка | Удалить определённый ключ кеша |
keys | массив строк | Очистить ключи кеша с определёнными префиксами |
generator | класс | Класс для генерации пользовательских ключей кеша |
Параметр аннотации | Тип | Описание |
---|---|---|
key | строка | Ключ для выражения глобального распределения |
retry | целое число | Интервал времени для повторной попытки блокировки, в миллисекундах |
waitLock | логическое значение | Ожидать ли глобальную блокировку? По умолчанию нет, программа не будет выполняться, если блокировка не получена |
generator | класс | Класс для генерации пользовательских ключей кеша |
Выражение примера | Описание | Пример |
---|---|---|
@Cache(key="user:{1}") public User getUserByAccount(String account) |
{1} представляет первый параметр {2} представляет второй параметр и так далее |
Если account = ace, то key = user:ace |
@CacheClear(pre="user{1.account}") User saveOrUpdate(User user) |
{1} представляет первый параметр {1.xx} представляет атрибут xxx первого параметра |
Если account=ace, то key = user:ace |
Адрес доступа: http://localhost:8080/cache
Интерфейс управления позволяет массово или по префиксу очищать зарегистрированный кеш ace-cache, а также просматривать содержимое кеша и продлевать срок его действия.
CacheTest — основной класс запуска
service — пакет с примерами использования кеша, включая пользовательские выражения и результаты анализа, использование аннотаций
Впервые встречаюсь с вами, пожалуйста, дайте мне больше советов!
Совместимость с режимом Spring MVC
redis.pool.maxActive = 300
redis.pool.maxIdle = 100
redis.pool.maxWait = 1000
redis.host = 127.0.0.1
redis.port = 6379
redis.password =
redis.timeout = 2000
redis.database = 0
redis.sysName = ace
redis.enable = true
<!-- beans 头部-->
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
<!-- 开启AOP配置 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<context:component-scan base-package="com.ace.cache"/>
<context:annotation-config/>
<properties>
<!-- spring -->
<spring.version>4.1.3.RELEASE</spring.version>
<properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )