1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/uncode-uncode-cache

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 22:43 c27b054

Uncode-cache

Двухуровневый компонент кэша на основе Redis и Ehcache, удобный в использовании, с управляющей страницей.

Функциональный обзор

  1. Поддержка унифицированных аннотаций.
  2. Возможность настройки автоматического обновления кэша по расписанию.
  3. Возможность кэширования предварительной загрузки.
  4. Возможность устранения зависимостей кэша.
  5. Возможность добавления мониторинга для отслеживания таких показателей, как коэффициент попадания, время чтения/записи и т. д.

Spring Boot

1. application.properties

* uncode.cache.redisClusterAddress=127.0.0.1:7000;127.0.0.1:7001;127.0.0.1:7002;127.0.0.1:7003;127.0.0.1:7004;127.0.0.1:7005
* uncode.cache.redisPoolMaxIdle=
* uncode.cache.redisPoolMinIdle =
* uncode.cache.redisPoolMaxTotal=
* uncode.cache.redisPoolMaxWaitMillis=
* uncode.cache.redisClusterTimeout=
* uncode.cache.redisClusterMaxRedirections=
* uncode.cache.redisClusterPassword
* uncode.cache.scanPackage=cn.uncode.cache
* uncode.cache.useLocal=true
* uncode.cache.openCacheLog=false
* uncode.cache.storeRegion=uncode-cache-demo

2. Класс запуска Spring Boot

@SpringBootApplication
@EnableAspectJAutoProxy
public class Application {
    public static void main(String[] agrs){
        SpringApplication.run(Application.class,agrs);
    }
}

Конфигурация Spring

<bean id="propertyConfigurer" class="cn.uncode.util.config.UncodePropertyPlaceholderConfigurer"> 
    <property name="ignoreResourceNotFound" value="true" /> 
    <property name="locations"> 
        <list> 
            <value>classpath:config.properties</value> 
        </list> 
    </property>
</bean> 

<!-- Настройка прокси -->
<aop:aspectj-autoproxy proxy-target-class="true"/>

<!-- Конфигурация пула кэша -->
<bean id="jedisCluster" class="com.ksudi.proxycache.store.redis.JedisClusterFactory" />
<bean id="cache" class="com.ksudi.proxycache.store.redis.RedisStore">
    <property name="jedisCluster" ref="jedisCluster" />
</bean>

<!-- Конфигурация менеджера прокси-кэша -->
<bean id="proxyCacheManager" class="com.ksudi.proxycache.ConfigCacheManager"
    init-method="init">
    <!-- Путь сканирования аннотаций -->
    <property name="scanPackage" value="com.ksudi.star.service"></property>
    <property name="cache" ref="cache" />
</bean>

<!-- Конфигурация обработчика AOP кэша -->
<bean class="com.ksudi.proxycache.framework.aop.handle.CacheManagerHandle">
    <property name="cacheManager" ref="proxyCacheManager" />
</bean>

Основные аннотации

@Cache(
    preload = true,//Нужно ли кэшировать предварительную загрузку, будет загружаться автоматически при запуске системы, поддерживает специальные сценарии
    preloadParameters = {"param1", "param2"},//Параметры метода загрузки, в настоящее время поддерживаются только String
    expiredTime = 60,//Время действия кэша, единица измерения - секунды
    cleanTimeExpressions = "0 15 10 ? * *",//Выражение времени очистки кэша по расписанию, например: очистка каждые 10 минут 15 секунд в день
    cacheCleans={//Определение зависимостей очистки bean, когда этот метод вызывается, текущий кэш очищается, можно определить несколько
        @CacheClean(
            beanName="couriersService6",//Имя bean
            methodName="updateCourierPwd"//Название метода
        )
    }
)
public User getUserById(){...}

Класс инструментов

Можно напрямую использовать класс инструментов cn.uncode.cache.CacheUtils.

Управляющая страница

Запустите cn.uncode.cache.springboot.Application с помощью spring-boot, посетите http://localhost:8808/static/index.html.

О проекте

Автор: Yewei Jun (ywj_316@qq.com, WeChat: yeweijun)

Техническая поддержка QQ группы: 47306892

Copyright 2018 www.uncode.cn

Специальное примечание

В этом проекте используется часть кода из проектов с открытым исходным кодом, сохраняются оригинальные имена авторов и весь контент, а также выражается благодарность авторам.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/uncode-uncode-cache.git
git@api.gitlife.ru:oschina-mirror/uncode-uncode-cache.git
oschina-mirror
uncode-uncode-cache
uncode-uncode-cache
master