Aspect-Cache-Plug 基于方法的切片缓存插件开源项目

我要开发同款
匿名用户2016年05月06日
101阅读

技术信息

开源地址
https://github.com/yuxiangping/aspect-cache-plug
授权协议
未知

作品详情

Aspect-Cache-Plug,基于方法的切片缓存插件。

先介绍缓存使用下场景:

对同一请求(针对不同请求参数)进行缓存,可以减少服务器压力、加快响应速度

查询接口:根据请求条件对返回结果进行缓存更新接口:根据条件对指定缓存进行清除

@Aspect(key = "query")public Object query(Strig q) {  // do somethig  retur ull;}@Aspect(key = "update")public Object update(Strig q) {  // do somethig    retur ull;}

缓存query方法返回值

<bea class="com.aspect.cofig.CacheCofig">    <property ame="key" value="query"/>    <property ame="space" value="space2"/>    <property ame="keyExpressio">        <value>this[0]+ew java.util.Date()</value>    </property>                     <property ame="timeout" value="60"/></bea>

执行update时清除query的返回结果

<bea class="com.aspect.cofig.ClearCofig">    <property ame="key" value="update"/>        <property ame="cachedCofigs">        <list>            <value>query</value>        </list>    </property></bea>

加入sprig支持

<aop:cofig>         <aop:poitcut id="adviceAspectPoit" expressio="executio(* com.sample..*.*(..)) ad @aotatio(Aspect)" />         <aop:aspect ref="adviceAspect">             <aop:aroud method="execute" poitcut-ref="adviceAspectPoit" arg-ames="Aspect" />        </aop:aspect>     </aop:cofig>    <bea id="adviceAspect" class="com.aspect.AdviceAspect">        <property ame="rootKey" value="aspect.cache."/>        <property ame="cache" ref="cache"/>        <property ame="caches">            <list>                <bea class="com.aspect.cofig.CacheCofig">                    <property ame="key" value="queryMethod1"/>                    <property ame="space" value="space1"/>                    <property ame="keyExpressio">                        <value>this[1]+"."+this[2]</value>                    </property>                    <property ame="domaiExpressio">                        <value>this[0]</value>                    </property>                    <property ame="timeout" value="60"/>                </bea>                <bea class="com.aspect.cofig.CacheCofig">                    <property ame="key" value="queryMethod2"/>                    <property ame="space" value="space1"/>                    <property ame="keyExpressio">                        <value>this[0]</value>                    </property>                                     <property ame="timeout" value="60"/>                </bea>                <bea class="com.aspect.cofig.CacheCofig">                    <property ame="key" value="space2QueryMethod1"/>                    <property ame="space" value="space2"/>                    <property ame="keyExpressio">                        <value>this[0]+ew java.util.Date()</value>                    </property>                                     <property ame="timeout" value="60"/>                </bea>            </list>        </property>        <property ame="clears">            <list>                <bea class="com.aspect.cofig.ClearCofig">                    <property ame="key" value="updateMethod1"/>                    <property ame="domaiExpressio">                        <value>this[0]</value>                    </property>                    <property ame="cachedCofigs">                        <list>                            <value>queryMethod1</value>                            <value>space2QueryMethod1</value>                        </list>                    </property>                </bea>            </list>        </property>    </bea>

功能介绍

Aspect-Cache-Plug,基于方法的切片缓存插件。 先介绍缓存使用下场景: 对同一请求(针对不同请求参数)进行缓存,可以减少服务器压力、加快响应速度 查询接口:根据请求条件对返回结果进...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论