[發明專利]基于redis實現自定義緩存注解的方法在審
| 申請號: | 202010412202.2 | 申請日: | 2020-05-15 |
| 公開(公告)號: | CN111596922A | 公開(公告)日: | 2020-08-28 |
| 發明(設計)人: | 袁磊;白凱 | 申請(專利權)人: | 山東匯貿電子口岸有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/33 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 劉淑風 |
| 地址: | 250100 山東省濟南市*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 redis 實現 自定義 緩存 注解 方法 | ||
1.基于redis實現自定義緩存注解的方法,其特征在于,基于redis實現自定義注解緩存的方法,將業務數據通過注解的形式計入緩存,然后各個業務子系統根據需求直接從注解中獲取數據。
2.根據權利要求1所述的基于redis實現自定義緩存注解的方法,其特征在于,包括:SpringAOP切面編程、獲取自定義注解、結合redis進行數據管理。
3.根據權利要求2所述的基于redis實現自定義緩存注解的方法,其特征在于,基于SpringAOP切面編程緩存注解說明:
@Cacheable@CachePut@CacheEvict(多個展示使用空格分隔)
@Cacheable:用于根據方法的請求參數對其結果進行緩存;
@CachePut:用于根據方法的請求參數對其結果進行緩存,與@Cacheable不同的是,它每次都會觸發真實方法的調用;
@CacheEvict:用于根據一定的條件對緩存進行清空。
4.根據權利要求2或3所述的基于redis實現自定義緩存注解的方法,其特征在于,所述自定義注解是指通過spring的Annontation引入的新特征,提供一種安全的類似注釋的機制,用來將任何的信息或元數據與程序元素進行關聯。
5.根據權利要求2或3所述的基于redis實現自定義緩存注解的方法,其特征在于,結合redis進行數據管理是指:
1)緩存先從redis讀,當讀取不到直接去檢索數據庫;
2)redis緩存后mq發送消息通知。
6.根據權利要求3所述的基于redis實現自定義緩存注解的方法,其特征在于,所述@Cacheable標記在一個類上或標記在一個方法上,當標記在一個類上時表示該類所有的方法都是支持緩存的,當標記在一個方法上是表示該方法是支持緩存的。
7.根據權利要求3所述的基于redis實現自定義緩存注解的方法,其特征在于,所述@Cacheable指定三個屬性,value、key和condition,其中:
Value:value屬性是必須指定的,其表示當前方法的返回值是會被緩存在哪個Cache上的,對應Cache的名稱.
Key:key屬性是用來指定Spring緩存方法的返回結果時對應的key的。該屬性支持SpringEL表達式。當我們沒有指定該屬性時,將使用默認策略生成key,key生成策略自定義;
Condition:其值是通過SpringEL表達式來指定的,當為true時表示進行緩存處理;當為false時表示不進行緩存處理,即每次調用該方法時該方法都會執行一次;
對于一個支持緩存的方法,Spring會在其被調用后將其返回值緩存起來,以保證下次利用同樣的參數來執行該方法時可以直接從緩存中獲取結果,而不需要再次執行該方法。
8.根據權利要求3所述的基于redis實現自定義緩存注解的方法,其特征在于,所述@CacheEvict指定的屬性有value、key、condition、beforeInvocation。
9.根據權利要求8所述的基于redis實現自定義緩存注解的方法,其特征在于,beforeInvocation是指:清除操作默認是在對應方法成功執行之后觸發的,即方法如果因為拋出異常而未能成功返回時也不會觸發清除操作。
10.根據權利要求8或9所述的基于redis實現自定義緩存注解的方法,其特征在于,使用beforeInvocation可以改變觸發清除操作的時間,當我們指定該屬性值為true時,會在調用該方法之前清除緩存中的指定元素。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東匯貿電子口岸有限公司,未經山東匯貿電子口岸有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010412202.2/1.html,轉載請聲明來源鉆瓜專利網。





