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