日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 10個常見的緩存使用誤區

10個常見的緩存使用誤區

來源:程序員人生   發布時間:2014-09-17 08:20:52 閱讀次數:2813次

在日常工作中,開發者經常利用緩存來進行優化站點或優化應用程序。但在實際應用中,在使用緩存時,總是那么不盡如意。這什么原因呢?本文,筆者收集了最為常見的十大緩存誤區以及使用建議。我們一起來看下 :

1.  依賴默認的序列化。

默認的序列化處理方式可能會消耗大量的CPU資源,特別是處理復雜類型數據時。所以建議要根據語音和環境的不同,采用最優化的序列化和反序列化方式。

2.  在單一緩存中存儲大對象數據。

由于序列化和反序列化需要一定的資源開銷,處于并發負載時,大對象圖形數據的頻繁讀取有可能會讓服務器的CPU崩潰。相反,不妨考慮把大對象數據打散為較小的子對象,之后再各自進行緩存。根據你的需求讀取最小的數據單元。

3.  在不同進程間使用緩存共享對象。

出現競態條件(Race conditions)時,當寫進程也參與其中,同時剛好程序的某部分也訪問同一緩沖對象,情況會變得更壞。采取外部鎖機制是有必要的。

4.  儲存數據后立馬進行緩存。

千萬不要倉促行事,即使是剛寫入不久,當存儲資源緊張時,一個緩存足以阻礙程序運行。所以用代碼來進行緩存空值返回檢查是很有必要的。

5.  使用嵌套對象存儲全集合。

由于序列化的影響,執行一次全集合存儲會導致程序運行變慢。有鑒于此,單獨對獨立對象進行緩存可以實現分開讀取,減少序列化影響。

6.  對父子對象采取統一與單獨混用的存儲方式。

有時候一個對象可能擁有兩個或更多的父對象。根據統一對象本身的鍵進行緩存以便不會把同一對象存儲于不同地方,這樣父對象可以按需訪問子對象。

7.  對配置信息進行緩存。

使用進程的本地靜態變量來存儲配置數據。緩存數據訪問是有代價的,所以要盡可能把影響減到最低。

8.  對活性對象進行緩存,例如:流,文件,注冊信息或者網絡。

不要嘗試對上述等包含引用信息的活性對象進行緩存。因為當緩存數據被刪除后,之前緩存的活性對象不會被刪除,這樣會造成系統資源泄漏。

9.  對同一對象采取多鍵存儲。

這樣或許在使用一個鍵和索引號來進行訪問時帶來便利。如果一個緩存是in-memory的,這樣做是可行的,因為緩存中包含了同一對象的引用信息,也就是說一旦該對象發生變更,都可以透過兩邊的訪問路徑進行查看。如果是遠程(外部)緩存,任何變更的發生都是不可見的,所以這樣會導致同步問題的產生。

10.在連續存儲中進行更新或刪除后沒有及時更新相應緩存對象。

在一個遠程緩存中,數據以拷貝方式存儲,所以當更新對象時,緩存不會被同步更新。緩存必須被明確指定,才能根據變更而進行更新。在in-memory緩存中,一個對象發生的變更是對所有人可見的。在刪除時情況類似,刪除一個對象時,在緩存中不會被同步刪除。這取決于程序本身如何確保緩存對象被正確刪除。

英文出自:highscalability

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕免费看 | 国产欧美精品国产国产专区 | 亚洲成人天堂 | 黄色大片网站 | 黄色免费av | 亚洲精品乱码久久久久久 | 91大片淫黄大片在线天堂 | 亚洲国产精品久久人人爱 | 欧美成人激情 | 国产精品国产三级国产aⅴ原创 | 看黄在线观看 | 国产三级精品三级在线观看国产 | 成人性生交大片免费网站 | 99国产精品99久久久久久粉嫩 | 亚洲伦理一区二区 | 亚洲狼人| 亚洲国产精品99久久久久久久久 | 国产一级片网站 | 少妇18xxxx性xxxx片 | 好av在线| av网站观看| 精精国产 | 在线观看av一区 | 欧美极品一区二区 | 久久国产精品久久久久久久久久 | 日韩中文字幕在线播放 | 国内av网站| 国产精品久久久久久久久免费 | 91精品国产92久久久久 | 久久国产视频网 | 中文字幕亚洲第一 | 日本xxxx裸体xxxx| 成人福利网 | 日韩在线观看一区 | 在线视频日韩精品 | 中国18一19sex性 | 99国产精品久久 | 爱爱小视频网站 | 日日摸夜夜添夜夜添国产精品 | 欧美日韩国产不卡 | 国产精品二区在线 |