基于spring boot上的注解缓存,自带轻量级缓存管理页面。 @Cache比spring cache更轻量的缓存,采用fastjon序列化与反序列化,以json串存于缓存之中。 ace-cache可以快速用于日常的spring boot应用或服务之中,快速查看到缓存的状态。
1、配置redis数据源,application.yml文件
redis: pool: maxActive: 300 maxIdle: 100 maxWait: 1000 host: 127.0.0.1 port: 6379 password: timeout: 2000 # 服务或应用名 sysname: ace enable: true database: 0
2、开启AOP扫描
@ComponentScan({"com.ace.cache"}) @EnableAspectJAutoProxy
3、在Service上进行@Cache注解或@CacheClear注解
注解参数 | 类型 | 说明 |
---|---|---|
key | 字符串 | 缓存表达式,动态运算出key |
expires | 整形 | 缓存时长,单位:分钟 |
desc | 描述 | 缓存说明 |
parser | Class<? extends ICacheResultParser> | 缓存返回结果自定义处理类 |
generator | Class<? extends IKeyGenerator> | 缓存键值自定义生成类 |
注解参数 | 类型 | 说明 |
---|---|---|
pre | 字符串 | 清除某些前缀key缓存 |
key | 字符串 | 清除某个key缓存 |
keys | 字符串数组 | 清除某些前缀key缓存 |
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}表示获取第一个参数中的xxx属性 |
若:account=ace,则:key = user:ace |
访问地址:http://localhost:8080/cache
管理端批量或前缀清除ace-cache注册的缓存,同时也可以快速预览缓存的数据内容,也可以对缓存的失效时间进行延长。
1、在src/main/test中展开的相关示例代码
CacheTest是核心启动类
service包是缓存调用例子,包含自定义表达式和结果解析、注解的使用
当我们日常开发的时候,总会遇到一些缓存问题,说白了就是把项目中一些数据量较大且轻易不改动的数据放入缓存,以便后续请求可以迅速响应。因此我们可以使用redis作为缓存中间件,我认为使用redis也还是从俩个方面考虑:性能和并发。然后就是ace-cache基于spring boot上的注解缓存,自带轻量级缓存管理页面,比spring cache更轻量的缓存,支持单个缓存设置过期时间,可以根据前
场景 使用ace-cache开源项目时,例如redisService.set(xx,xx),如果key或者value为null的话,就会出现错误,并记录错误日志,如果是刚开始的项目,从源头入手做好if判断即可,但是如果整个项目有很多地方都在使用了的话,可以考虑用AOP切一下,拦截一下null值,如果有null,则不继续调用方法。 上代码 package com.test.aop; /** *
template部分: <editor @init="editorInit" @input="changeData" @setCompletions="setCompletions" :autoComplete=true :value='dataView' lang=
1、ACE5-LITE stashnideden stashlpideden permitted behavior 0 0 WriteUniqueStash or StashOnce以外的所有trans 1 0 WriteUniqueStash or StashOnce,stash target只有physical intf 0 1 WriteUniqueStash or StashOnce, A
1.@Cache加载@service中 2.service中A调用B方法, B方法上加上@Cache是不会写到redis中的。 解决方法: controller 直接调带有@Cache的service 3.ace-cache 切面中会将缓存的值转为JSON,所以存string类型的数据取数据时会有问题 解决方法:1-存其他类型数据 2 重写Aop
对于缓存声明,抽象提供了一组 Java 注解: @Cacheable 触发缓存机制 @CacheEvict 触发缓存回收 @CachePut 更新缓存,而不会影响方法的执行 @Caching 组合多个缓存操作到一个方法 @CacheConfig 类级别共享系诶常见的缓存相关配置 下面,让我们仔细看看每个注释。 32.3.1 @Cacheable 注解 顾名思义,@Cacheable 用于标识可缓存
我的Spring应用程序由两个上下文xml配置文件组成,第一个是根上下文。xml仅扫描非控制器带注释的bean: 而第二个servlet上下文。xml包含所有spring mvc设置和扫描控制器带注释的bean web.xml上的DispatcherServlet配置如下所示 我想尝试基于注释的缓存,所以我将以下bean定义添加到root-context.xml 并使用一个带有注释的类来测试这一点
本文向大家介绍Spring Boot 基于注解的 Redis 缓存使用详解,包括了Spring Boot 基于注解的 Redis 缓存使用详解的使用技巧和注意事项,需要的朋友参考一下 看文本之前,请先确定你看过上一篇文章《Spring Boot Redis 集成配置》并保证 Redis 集成后正常可用,因为本文是基于上文继续增加的代码。 一、创建 Caching 配置类 RedisKeys.Jav
本文向大家介绍详解基于Bootstrap扁平化的后台框架Ace,包括了详解基于Bootstrap扁平化的后台框架Ace的使用技巧和注意事项,需要的朋友参考一下 最近一段时间在做一个管理系统,在网上找了很久的前端展示框架,终于找到一款基于Bootstrap的后台管理系统模版:Ace。Bootstrap是Twitter 于2010年开发出来的前端框架,用过的同学应该知道,这款前端框架不仅界面很美观,而
本文向大家介绍springboot集成spring cache缓存示例代码,包括了springboot集成spring cache缓存示例代码的使用技巧和注意事项,需要的朋友参考一下 本文介绍如何在springboot中使用默认的spring cache, 声明式缓存 Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、
swoole框架目前支持5种Cache适配器,可以配置apps/configs/cache.php的type来设定不同类型的Cache Memcache 使用memcache缓存数据,配置示例: $cache['master'] = array( 'type' => 'Memcache', 'use_memcached' => true, //使用memcached扩展 '