主要就是把資料快取到redis中
@override但是當壓測到一定程度的時候,會報記憶體溢位//會記憶體異常,主要就是lettuce的bug,導致記憶體溢位,它是使用netty進行網路通訊
//luttuce的bug導致netty堆外記憶體溢位 -xmx300m;netty如沒有指定,預設是-xmx300m
//不能使用-dio.netty.maxdirectmemory只去調大堆外記憶體
//1.公升級luttuce客戶端, 2切換jedis
public map>getcatalogjson()
map> map = json.parseobject(catalogjson, new typereference>>() );
return
map;
}
修改方式如下:
<然後就是redis幾個常見的問題可以參考這篇部落格:dependency
>
<
groupid
>org.springframework.boot
groupid
>
<
artifactid
>spring-boot-starter-data-redis
artifactid
>
<
exclusions
>
<
exclusion
>
<
groupid
>io.lettuce
groupid
>
<
artifactid
>lettuce-core
artifactid
>
exclusion
>
exclusions
>
dependency
>
<
dependency
>
<
groupid
>redis.clients
groupid
>
<
artifactid
>jedis
artifactid
>
dependency
>
1.空結果快取:解決快取穿透
2.設定過期時間(加隨機值):解決快取雪崩
3:加鎖解決快取擊穿
當專案是分布式專案的時候,不適合用本地鎖,要改成分布式鎖,我之前研究的是redis+lua的方式
具體可以檢視之前寫的部落格
穀粒商城SpringCache快取 二十九
167 快取 springcache 簡介 172 快取 springcache 原理與不足 主要 如下 級聯更新所有關聯的資料 param category transactional override caching evict key getlevel1categorys cacheevict...
隨筆 二十三
1.gradle 完a整指南 android 2.android gradle 外掛程式 3.0 挖坑日記 3.android效能優化全方面解析 4.android studio 3.2新功能特性 5.重新認識 androidstudio 和 gradle,這些都是你應該知道的 6。美團外賣andr...
演算法(二十三)
1 給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。public int maxsubarray int nums return maxsum 複雜度分析 public int maxsubarray int nums return maxsum 2 ...