AutoLoadCache 使用以及規範

2021-10-07 00:03:39 字數 2947 閱讀 1513

autoloadcache 是基於aop+annotation等技術實現的高效的快取管理解決方案,實現快取與業務邏輯的解耦,並增加非同步重新整理及「拿來主義機制」,以適應高併發環境下的使用。

使用aop + annotation 來解決這個問題,同時使用自動載入機制 來實現資料「常駐記憶體」

—> 跳轉官方git

本文的自動快取使用的redis作為快取技術, 請確保自己系統中的redis能夠正常使用

>

>

com.github.qiujiayugroupid

>

>

autoload-cache-spring-boot-starterartifactid

>

>

7.0.8version

>

dependency

>

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-aopartifactid

>

dependency

>

package com.***

import com.jarvis.cache.icachemanager;

import com.jarvis.cache.autoconfigure.autoloadcacheproperties;

import com.jarvis.cache.clone.icloner;

import com.jarvis.cache.map.mapcachemanager;

import com.jarvis.cache.serializer.fastjsonserializer;

import com.jarvis.cache.serializer.iserializer;

import org.springframework.context.annotation.bean;

/** * @author: wang

* @date: 2020/6/9 10:32

* @version: v1.0

* @description: 自動快取框架配置

*/public

class

autoloadcacheconfiguration

@bean

public iserializer

autoloadcacheserializer()

}

annotation: 官方例子

在需要進行資料快取的地方加上@cache註解即可

@cache

(expire =

"", key =

"")

在需要清理快取的地方加上@cachedelete註解

@cachedelete("

)})

當返回值為空時快取有效期為20分鐘, 當返回值不為空有效期為60分鐘

@cache

(expire = expire_time, key = cache_key_inituserinfo, expireexpression =

"null == #retval ? 20: 60"

)

當刪除語句執行成功, 才將對應key的快取刪除

@cachedelete()

intdeleteuserbyid

(long id)

;

註解裡面可以用#args[i]來動態獲取入參

@cache

(expire =

60, expireexpression =

"null == #retval ? 30: 60"

, key =

"'user-byid-' + #args[0]"

) userdo getuserbyid

(long id)

;

快取key:作為分隔符

快取純資料庫字段key要加上table關鍵字

快取方法資料key要加上method關鍵字

對資料進行修改或者刪除時務必同步將快取刪除(帶上condition, 操作成功才動快取)

方法快取key中帶上類名和方法名(用.隔開)

key中帶上快取的入參, 並用=連線引數名和引數值

多個入參用,分隔

## 快取key值:

user-server:method:

+cacheserviceimpl.inituserinfo:personid=

1,homeid=

1## **樣例

public

static

final string cache_key_inituserinfo = cacheconfig.key_method +

"cacheserviceimpl.inituserinfo:personid='+#args[0]+',homeid='+#args[1]"

;

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...