基于 redis 和 ehcache 的两级缓存组件 uncode-cache

码农软件 · 软件分类 · 缓存系统 · 2019-08-29 16:57:36

软件介绍

uncode-cache

基于 redis 和 ehcache 的两级缓存组件,支持spring-boot,使用方便,有管理页面。

功能概述

  1. 统一注解支持

  2. 可以设置缓存定时自动更新时间

  3. 可以缓存预热

  4. 可以设置缓存依赖消除

  5. 可以添加监听,使用实现命中率、读/写耗时等

spring boot

1. application.peroperties

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工具类。

管理页面

输入图片说明

特别说明

本项目使用了部分开源项目代码,保留了原作者的名称和所有内容,同时向作者致敬。

本文地址:https://codercto.com/soft/d/13440.html

算法概论

算法概论

Sanjoy Dasgupta、Christos Papadimitriou、Umesh Vazirani / 钱枫 注、邹恒明 注 / 机械工业出版社 / 2009-1 / 55.00元

《算法概论(注释版)》源自加州大学伯克利分校和加州大学圣迭戈分校本科生的算法课讲义,以独特的视角展现了算法设计的精巧技术及魅力。在表达每一种技术时,强调每个算法背后的简洁数学思想,分析其时间和空间效率,运用与其他技术类比的方法来说明特征,并提供了大量实例。《算法概论(注释版)》以人类最古老的算法(算术运算)为起点,将各种算法中优美而有代表性的内容囊括书中,并以最前沿的理论(量子算法)结束,构成了较......一起来看看 《算法概论》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具