穀粒商城快取 二十三

2022-04-02 03:22:57 字數 1998 閱讀 8074

主要就是把資料快取到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;

}

但是當壓測到一定程度的時候,會報記憶體溢位

修改方式如下:

<

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

>

然後就是redis幾個常見的問題可以參考這篇部落格:

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