緩存概述

2018-12-24 22:40 更新

緩存模塊是以EhCache作為默認(rèn)JVM進(jìn)程內(nèi)緩存服務(wù),通過整合外部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)引入核心包依賴,無需重復(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ǔ)接口概念

開發(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)類,通過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)聽(ICacheEventListener)接口:用于監(jiān)聽被緩存對(duì)象發(fā)生變化時(shí)的事件處理,需開發(fā)者實(shí)現(xiàn)接口;

  • 緩存作用域處理器(ICacheScopeProcessor)接口:用于處理@Cacheable注解的Scope參數(shù)設(shè)置為非DEFAULT作用域的緩存對(duì)象,需開發(fā)者實(shí)現(xiàn)接口;

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)