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...