成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

架構:緩存設計 你懂嗎?

存儲 存儲軟件
緩存在架構設計中占有重要地位。緩存在提升性能中也扮演重要的角色。常見的有對資源的緩存,比如數據庫連接池、http連接池,還有對數據的緩存等。緩存的設計可復雜也可簡單,但是需要考慮的點卻很多。

 緩存在架構設計中占有重要地位。緩存在提升性能中也扮演重要的角色。常見的有對資源的緩存,比如數據庫連接池、http連接池,還有對數據的緩存等。緩存的設計可復雜也可簡單,但是需要考慮的點卻很多。

[[285190]]

緩存對象

設計緩存的時候一定要考慮的是,緩存的對象是什么,緩存哪些對象。緩存對象一定是熱數據,也就是頻繁被訪問。把對象加載到內存是以犧牲內存為代價的,如果緩存的對象不經常訪問,那么就是在浪費內存,并且不但不會提升性能,還會因為命中率低的原因降低性能。

緩存的大小

因為內存是有限的,所以緩存不能無限大,那么就要決定緩存多少數據以保證內存不被撐爆。

緩存一致性

緩存一致性是必須要考慮的點。很多緩存設計都忘記了這一點,導致在使用緩存的時候經常返回過期數據。數據在更新的時候,緩存可以采用如下幾個策略:1.將緩存中的數據設置為無效或者刪除,再次查詢的時候重新去數據庫查詢并更新緩存;2.更新數據時,先更新緩存,再更新數據庫或者先更新緩存之后異步刷新到數據庫;3.直接更新數據庫,緩存定期去數據庫同步最新數據,這種方式需要容忍一定時間內的不一致。緩存刷新策略一定要明確。作者本人在工作中遇到過這種情況:更新數據的接口有兩個,其中一個更新緩存后更新數據庫,另一個直接去更新的數據庫,由于沒有同步機制,導致總是偶現數據不一致的情況,而且只能重啟來規避。

緩存在哪里

對于緩存數據的存儲位置也是需要考慮的。如果是分布式系統或者近期會重構成分布式的系統,緩存需要集中存儲,比如使用redis做緩存。如果是單機系統,最簡單的方式就是緩存到內存中。緩存的存儲位置的訪問一定要快于數據的存儲位置,不然緩存就沒有意義了。

緩存流程

 

架構:緩存設計

 

緩存流程

經典緩存問題

1.緩存穿透

緩存穿透是指客戶端訪問即不在緩存中的數據又不在數據庫中的數據。這種訪問過多會導致數據庫掛掉影響正常訪問。對于這種問題,可以在數據訪問前做校驗,過濾掉不存在的數據訪問,必須不合法的查詢字段或者使用布隆過濾器,篩選掉不存在的數據;也可以將不存在的數據在緩存中建立空值緩存。

2.緩存擊穿

緩存擊穿是指客戶端訪問不在緩存中但數據庫中存在的數據。如果對某個key的訪問量很大,這個時候緩存過期了,那么就會有很多的訪問漏到數據庫層面去訪問數據。這個問題可以采用如下方法解決:熱點數據常駐緩存;訪問在緩存中沒有拿到數據,在需要去數據庫中訪問數據時加鎖處理,只漏過一個訪問去數據庫查詢數據,并將數據更新到緩存,其他訪問加鎖失敗,后續從緩存中取數據。

3.緩存雪崩

緩存雪崩是指大量的key過期,導致訪問落到數據庫上。這個問題的解決方法如下:1.每個緩存數據設置不同的緩存時間,避免大量的緩存同時過期;2.添加的節點預熱。在需要添加緩存節點的時候,先做緩存預熱,避免大量訪問未命中的情況;3.對于熱點數據的判斷采用延遲的策略。在訪問緩存中不存在的數據的時候,不直接將它設置成最熱數據,而是設置到緩存數據按熱度排序中間的位置,避免某一時刻大量訪問冷數據導致熱數據被剔除緩存的情況。

建議

不建議在架構設計的最初階段就采用緩存。首先,采用緩存容易掩蓋一些問題,比如業務邏輯導致的性能低下在由于緩存的存在在初期不容易暴露;再有就是在最初階段有的時候很難去判斷什么是熱數據什么是冷數據,需要緩存什么;如果已經確定要在系統中引入緩存那么一定要考慮好上面的幾點。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-12-04 07:25:20

軟件架構

2021-04-12 06:00:01

MongoDB數據庫存儲

2011-06-14 10:57:31

SQL Server管理

2022-06-21 09:53:03

FedoraUbuntuLinux

2022-10-08 00:04:00

緩存架構限流

2019-11-28 10:45:28

ZooKeeper源碼分布式

2021-03-30 09:59:52

支付寶加密數據泄露

2019-11-13 23:33:16

工業物聯網IIOT物聯網

2019-07-24 10:11:51

jdkjreJava

2019-11-19 08:47:45

Zookeeper分布式事務

2022-11-11 17:09:55

微服務RPC

2023-03-10 07:22:40

2016-12-05 08:46:07

緩存架構設計

2020-09-10 14:33:18

計算機

2018-05-10 09:06:24

2023-01-11 09:01:00

集群小文件存儲

2014-06-24 10:24:53

程序員笑話

2019-02-01 09:38:16

2019-09-05 11:14:12

監控系統拓撲圖

2023-07-09 15:20:00

緩存平衡性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产中文字幕在线观看 | 久久国产区 | 欧美日韩亚洲国产 | 欧美在线天堂 | 国产精品久久一区 | 91.com在线观看| 午夜精品久久久久久久久久久久久 | 天天夜夜人人 | 欧美福利视频 | 99久久精品免费看国产四区 | 日韩精品一区二区三区中文字幕 | 麻豆亚洲| 国内精品久久久久久影视8 最新黄色在线观看 | 在线国产中文字幕 | 精品国产视频 | 欧美99 | 性色av一区二区三区 | 国产一区二区三区 | 久久久久国产精品 | 91视频大全 | 成人三级在线播放 | 9久久精品 | 夜夜骚 | 99久久影院 | 视频一区二区三区中文字幕 | 97日日碰人人模人人澡分享吧 | 亚洲精品福利视频 | 成人在线视频免费观看 | 久久精品欧美电影 | 激情 婷婷 | 粉嫩在线 | 欧美簧片 | 国产二区精品视频 | 美女激情av| 久久久精品影院 | 欧美男人天堂 | 欧美日韩国产一区二区三区 | 免费观看黄色片视频 | 国产在线播放av | 国产精品一区二区在线播放 | 欧美一级在线观看 |