Redis 效能優化

2022-10-11 18:45:10 字數 779 閱讀 5526

redis 上線半年 發現記憶體占用很大,把一些key刪除 發現記憶體沒有釋放

原因: key占用了很多碎片-優化其實就是碎片管理:

1.重啟redis,持久化會自動清理碎片

2.如果記憶體比較小,占用的碎片多,可以直接修改配置檔案,代表我們可以記憶體的百分比

剩下多少的時候,就去幫助我們去碎片管理, 但是碎片管理的時候 就會對資料重新進行排序

如果碎片整理過於頻繁就會降低我們的redis的效能

3.快取穿透(請求過來的時候-快取和資料庫都沒有):雖然資料都沒有但是大量併發的時候 請求還是要進到資料庫並且還要返回結果給人家。這樣人家惡意攻擊就難受了

2.布隆過濾器 每次操作的時候 把這個key寫入到我們的布隆過濾器,如果布隆過濾器有則繼續查詢redis和mysql.

如果沒有,則返回就可以,占用少量記憶體,存放大量的key,能夠快速判斷。存在誤判 但概率很小,可以提前把業務資料key存放到過濾器裡面

4.快取擊穿(請求過來的時候-快取沒有資料庫有):大量併發請求還是直接到資料庫,

5.快取雪崩(請求過來的時候-資料快取同時過期):請求還是到資料庫來了,

怎麼解決:資料設定隨機過期時間 如50min+隨機描述,別都設定為50分鐘過期,這樣就降低快取雪崩出現

6.快取預熱(請求過來的時候-快取重啟):

1.服務重啟之後,提前把熱點資料放到快取裡面

2.寫個程式,定時的寫進去

redis 效能優化

對於linux系統,如果redis客戶端和服務端都在同一臺伺服器,可以使用 unix socket 不需要走tcp監聽網路埠,使用後效果非常明顯。unix domain socket是在socket架構上發展起來的用於同一臺主機的程序間通訊 ipc 它不需要經過網路協議棧,不需要打包拆包 計算校驗和...

Redis效能優化

本人從兩個方面去解釋如何進行redis效能優化,經驗是很根據線上環境的使用總結的。歡迎諮詢qq 2767855941 1 連線數優化 redis使用的io多路復用技術,關於redis io多路復用技術就不在此具體說明,只能說由於redis使用了這個技術,導致客戶端可以 獲取到的總大連線數取決於lin...

Redis 效能優化建議

jedispoolconfig jedispoolconfig newjedispoolconfig jedispoolconfig.setmaxtotal 5 jedispoolconfig.setmaxidle 2 jedispoolconfig.settestonborrow true jed...