На основе Spring Boot реализован аннотированный кэш с лёгким управлением страницей.
@Cache легче, чем spring cache, поддерживает настройку срока действия для отдельного кэша и позволяет удалять кэш по префиксу.
Для сериализации и десериализации используется fastjson, данные хранятся в виде json-строк в кэше.
icloud-cache может быть быстро использован в повседневных приложениях на базе Spring Boot.
Визуализация данных (не рекомендуется использовать в производственной среде)
API кэша
<dependency>
<groupId>com.gitee.ibyte</groupId>
<artifactId>icloud-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: icloud
enable: true
database: 0
@EnableiCloudCache
Параметр аннотации | Тип | Описание |
---|---|---|
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 = icloud, то ключ = user:icloud |
@CacheClear(pre="user{1.account}") User saveOrUpdate(User user) |
{1} означает первый параметр {1.xx} означает атрибут xxx первого параметра |
Если account=icloud, то ключ = user:icloud |
Адрес доступа: http://localhost:8080/cache
Интерфейс управления позволяет массово или по префиксу очищать зарегистрированный кэш icloud-cache, а также быстро просматривать содержимое кэша и продлевать срок его действия.
CacheTest — основной класс запуска. service — пакет с примерами использования кэша, включая пользовательские выражения и анализ результатов, использование аннотаций.
Конфигурационный файл:
Файл application.properties:
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 = icloud
redis.enable = true
Файл applicationContext.xml:
<!-- 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.icloud.cache"/>
<context:annotation-config/>
Зависимости Maven:
<properties>
<!-- spring -->
<spring.version>4.1.3.RELEASE</spring.version>
<properties>
<dependencies>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )