YMP在線手冊(cè)
/ 緩存概述
緩存概述
緩存模塊是以EhCache作為默認(rèn)JVM進(jìn)程內(nèi)緩存服務(wù),通過(guò)整合外部Redis服務(wù)實(shí)現(xiàn)多級(jí)緩存(MultiLevel)的輕量級(jí)緩存框架,并與YMP框架深度集成(支持針對(duì)類方法的緩存,可以根據(jù)方法參數(shù)值進(jìn)行緩存),靈活的配置、易于使用和擴(kuò)展;
Maven包依賴
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-cache</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
注:
- 在項(xiàng)目的pom.xml中添加上述配置,該模塊已經(jīng)默認(rèn)引入核心包依賴,無(wú)需重復(fù)配置。
若需要啟用redis作為緩存服務(wù),請(qǐng)?zhí)砑右韵乱蕾嚺渲茫?/p>
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-persistence-redis</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
基礎(chǔ)接口概念
開(kāi)發(fā)者可以根據(jù)以下接口完成對(duì)緩存模塊的自定義擴(kuò)展實(shí)現(xiàn);
緩存服務(wù)提供者(ICacheProvider)接口:
- DefaultCacheProvider - 基于EhCache緩存服務(wù)的默認(rèn)緩存服務(wù)提供者接口實(shí)現(xiàn)類;
- RedisCacheProvider - 基于Redis數(shù)據(jù)庫(kù)的緩存服務(wù)提供者接口實(shí)現(xiàn)類;
- MultievelCacheProvider - 融合EhCache和Redis兩者的緩存服務(wù)提供者接口實(shí)現(xiàn)類,通過(guò)MultilevelKey決定緩存對(duì)象的獲取方式;
緩存Key生成器(IKeyGenerator)接口:
- DefaultKeyGenerator - 根據(jù)提供的類方法和參數(shù)對(duì)象生成緩存Key,默認(rèn)是將方法和參數(shù)對(duì)象進(jìn)行序列化后取其MD5值;
序列化服務(wù)(ISerializer)接口:
- DefaultSerializer - 默認(rèn)序列化服務(wù)采用JDK自帶的對(duì)象序列化技術(shù)實(shí)現(xiàn);
緩存事件監(jiān)聽(tīng)(ICacheEventListener)接口:用于監(jiān)聽(tīng)被緩存對(duì)象發(fā)生變化時(shí)的事件處理,需開(kāi)發(fā)者實(shí)現(xiàn)接口;
緩存作用域處理器(ICacheScopeProcessor)接口:用于處理@Cacheable注解的Scope參數(shù)設(shè)置為非DEFAULT作用域的緩存對(duì)象,需開(kāi)發(fā)者實(shí)現(xiàn)接口;