噜噜噜综合,又色又爽又高潮免费观看,综合无码一区二区三区四区五区,中文字幕无码人妻aaa片,四虎成人精品永久网站

十個(gè)常見(jiàn)的緩存使用誤區(qū)及建議

佚名  發(fā)表于:14年11月06日 09:35 [轉(zhuǎn)載] DOIT.com.cn

  • 分享:
[導(dǎo)讀]在日常工作中,開(kāi)發(fā)者經(jīng)常利用緩存來(lái)優(yōu)化站點(diǎn)或應(yīng)用程序,然而在實(shí)際應(yīng)用中,大家使用緩存時(shí),總會(huì)存在或多或少的誤區(qū),反而影響了站點(diǎn)或應(yīng)用程序的正常運(yùn)行。近日,highscalability上的一篇文章總結(jié)了十大使用緩存的誤區(qū)和建議...

 

  在日常工作中,開(kāi)發(fā)者經(jīng)常利用緩存來(lái)優(yōu)化站點(diǎn)或應(yīng)用程序,然而在實(shí)際應(yīng)用中,大家使用緩存時(shí),總會(huì)存在或多或少的誤區(qū),反而影響了站點(diǎn)或應(yīng)用程序的正常運(yùn)行。近日,highscalability上的一篇文章總結(jié)了十大使用緩存的誤區(qū)和建議。

  現(xiàn)就對(duì)這十大緩存誤區(qū)以及使用建議進(jìn)行一個(gè)全面的梳理:

  1、依賴默認(rèn)的序列化方式

  使用默認(rèn)的序列化處理方式可能會(huì)消耗大量的CPU資源,尤其是處理復(fù)雜類(lèi)型數(shù)據(jù)時(shí)。所以建議大家一定要根據(jù)所使用語(yǔ)言和環(huán)境的情況,采用最合理、有效的序列化和反序列化方式。

  2、在單一緩存中存儲(chǔ)大對(duì)象數(shù)據(jù)

  由于序列化和反序列化需要一定的資源開(kāi)銷(xiāo),當(dāng)處于高并發(fā)高負(fù)載的情況下,對(duì)大對(duì)象數(shù)據(jù)的頻繁讀取有可能會(huì)使得服務(wù)器的CPU崩潰,所以建議大家把大對(duì)象數(shù)據(jù)分成為較小的子對(duì)象,然后再各自進(jìn)行緩存。

  3、在不同線程間使用緩存共享對(duì)象

  在競(jìng)態(tài)條件(Race conditions)條件下,當(dāng)寫(xiě)線程對(duì)緩存進(jìn)行寫(xiě)入操作時(shí),如果這是讀線程剛好也要訪問(wèn)同一緩沖對(duì)象,就有可能讀取臟數(shù)據(jù),所以在實(shí)際開(kāi)發(fā)中要根據(jù)實(shí)際情況采取外部鎖機(jī)制,以保證緩存數(shù)據(jù)的正確讀寫(xiě)。

  4、認(rèn)為存儲(chǔ)數(shù)據(jù)操作后,數(shù)據(jù)即刻就能存儲(chǔ)到緩存中

  剛進(jìn)行寫(xiě)入緩存操作的數(shù)據(jù)并不一定能夠馬上寫(xiě)入緩存,這是因?yàn)楫?dāng)緩存空間不足時(shí),剛寫(xiě)入的緩存有可能被刷新掉。所以在編寫(xiě)程序時(shí),應(yīng)該首先對(duì)獲得緩存的值作空值檢測(cè)。

  5、使用嵌套對(duì)象存儲(chǔ)整個(gè)集合

  如果將整個(gè)集合對(duì)象數(shù)據(jù)進(jìn)行嵌套緩存的話,獲得其中某個(gè)具體元素的性能將會(huì)嚴(yán)重受到影響,這是因?yàn)檎麄(gè)集合存儲(chǔ)意味著對(duì)整個(gè)嵌套對(duì)象進(jìn)行序列化。有鑒于此,建議單獨(dú)對(duì)每個(gè)元素進(jìn)行緩存,這樣就可以做到對(duì)每個(gè)對(duì)象分別更新和讀取,以減少序列化的影響。

  6、對(duì)父子對(duì)象采取統(tǒng)一與單獨(dú)混用的存儲(chǔ)方式

  有時(shí)候一個(gè)對(duì)象可能擁有兩個(gè)或更多的父對(duì)象,同一對(duì)象存儲(chǔ)在不同地方,這樣就會(huì)造成緩存的浪費(fèi)。為了不讓同一對(duì)象存儲(chǔ)于不同地方,這就需要根據(jù)統(tǒng)一對(duì)象本身的鍵進(jìn)行緩存,這樣父對(duì)象就能夠根據(jù)需要訪問(wèn)子對(duì)象。

  7、對(duì)配置信息進(jìn)行緩存

  緩存數(shù)據(jù)的訪問(wèn)是有代價(jià)的,所以要盡可能把影響減到最低(+微信關(guān)注網(wǎng)絡(luò)世界),所以建議使用本地靜態(tài)變量代替緩存對(duì)配置數(shù)據(jù)進(jìn)行存儲(chǔ)。

  8、對(duì)實(shí)時(shí)對(duì)象進(jìn)行緩存

  如果對(duì)實(shí)時(shí)對(duì)象(例如:流、文件、注冊(cè)信息或者網(wǎng)絡(luò)情況)的引用進(jìn)行緩存的話,當(dāng)緩存數(shù)據(jù)被刪除后,之前緩存的實(shí)時(shí)對(duì)象不被刪除,這樣會(huì)造成系統(tǒng)資源泄漏,所以不要對(duì)實(shí)時(shí)對(duì)象進(jìn)行存儲(chǔ)。

  9、使用多個(gè)鍵存儲(chǔ)同一對(duì)象

  盡管使用多個(gè)鍵存儲(chǔ)同一對(duì)象就使得使用一個(gè)鍵和索引號(hào)來(lái)進(jìn)行訪問(wèn)時(shí)帶來(lái)便利,但是當(dāng)緩存是基于遠(yuǎn)程緩存的話,任何關(guān)于對(duì)象改變都是不可見(jiàn)的,這樣會(huì)導(dǎo)致緩存數(shù)據(jù)同步問(wèn)題的發(fā)生,所以不建議使用多個(gè)鍵存儲(chǔ)同一對(duì)象。

  10、在連續(xù)存儲(chǔ)中進(jìn)行更新或刪除后不及時(shí)更新相應(yīng)緩存對(duì)象

  由于在一個(gè)遠(yuǎn)程緩存中,數(shù)據(jù)以拷貝方式存儲(chǔ),所以當(dāng)更新對(duì)象時(shí),緩存不會(huì)被同步更新。所以更新對(duì)象時(shí),緩存必須被明確地進(jìn)行更新。然而在基于內(nèi)存的緩存中,當(dāng)刪除一個(gè)對(duì)象時(shí),在緩存中不會(huì)被同步刪除,所以建議通過(guò)程序確保緩存對(duì)象被正確刪除。

 

[責(zé)任編輯:dajun]
微軟并不是惟一一家對(duì)存儲(chǔ)服務(wù)質(zhì)量顯示出高度關(guān)注的廠商。但目前這位軟件巨人以及其它一些云技術(shù)先鋒確實(shí)已經(jīng)作出了大膽的嘗試。他們的競(jìng)爭(zhēng)對(duì)手――雖然目前還不確定他們具體在與誰(shuí)進(jìn)行競(jìng)爭(zhēng)――能否跟上其迅捷的發(fā)展腳步? 標(biāo)簽 微軟軟件定義存儲(chǔ)
官方微信
weixin
相關(guān)閱讀
精彩專題更多
存儲(chǔ)風(fēng)云榜”是由DOIT傳媒主辦的年度大型活動(dòng)。回顧2014年,存儲(chǔ)作為IT系統(tǒng)架構(gòu)中最基礎(chǔ)的元素,已經(jīng)成為了推動(dòng)信息產(chǎn)業(yè)發(fā)展的核心動(dòng)力,存儲(chǔ)產(chǎn)業(yè)的發(fā)展邁向成熟,數(shù)據(jù)經(jīng)濟(jì)的概念順勢(shì)而為的提出。
華為OceanStor V3系列存儲(chǔ)系統(tǒng)是面向企業(yè)級(jí)應(yīng)用的新一代統(tǒng)一存儲(chǔ)產(chǎn)品。在功能、性能、效率、可靠性和易用性上都達(dá)到業(yè)界領(lǐng)先水平,很好的滿足了大型數(shù)據(jù)庫(kù)OLTP/OLAP、文件共享、云計(jì)算等各種應(yīng)用下的數(shù)據(jù)存儲(chǔ)需求。
聯(lián)想攜ThinkServer+System+七大行業(yè)解決方案驚艷第十六屆高交會(huì)
 

公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.