Аннотация для кэширования на основе Spring Boot, включая легковесный веб-интерфейс управления кэшем.
@Cache представляет собой более легковесный вариант кэширования по сравнению с Spring Cache, поддерживает установку времени жизни для каждого кэша отдельно и удаление кэша по префиксу.
Использует fastjson для сериализации и десериализации, хранит данные в кэше в виде JSON-строки.
ace-cache можно быстро использовать в повседневных приложениях на Spring Boot.
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-cache</artifactId>
<version>0.0.2</version>
</dependency>
# Настройки redis-cache
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 | Строка | Описание кэша |
parser | Class<? extends ICacheResultParser> | Класс для обработки результата кэша |
generator | Class<? extends IKeyGenerator> | Класс для генерации ключа кэша |
------------- | ------------- | ------------- pre | Строка | Очистка кэша по префиксу ключа key | Строка | Очистка кэша по ключу keys | Массив строк | Очистка кэша по нескольким ключам generator | Class<? extends IKeyGenerator> | Класс для генерации ключа кэша
Пример выражения | Описание | Пример |
---|---|---|
@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} представляет собой атрибут xx первого параметра |
Если account=ace, то key = user:ace |
Адрес доступа: http://localhost:8080/cache
Менеджер позволяет выполнять массовую очистку кэша или очистку по префиксу для кэшей, зарегистрированных в ace-cache, а также позволяет быстро просматривать содержимое кэша и продлевать время жизни кэша.
! [img](http://ofsc32t59. bkt. clouddn. com/17-05-22/1495418425204. jpg)
CacheTest является основным запускающим классом
Пакет service содержит примеры использования кэша, включая использование пользовательских выражений и обработки результатов, а также использование аннотаций
Добрый день, уважаемые коллеги! Буду рад вашим советам и замечаниям!# 23 мая 2017 года Поддержка шаблонов 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 header -->
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"
<!-- Enable AOP configuration -->
<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>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
Способ использования аналогичен способу использования Spring Boot: аннотации применяются непосредственно к методам.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )