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