av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

詳解Memcached的性能、優(yōu)點(diǎn)和限制

Memcached 是一個(gè)高性能、分布式內(nèi)存對象緩存系統(tǒng),本質(zhì)上是通用的,但目的是為了通過減輕數(shù)據(jù)庫負(fù)載來加快動(dòng)態(tài)網(wǎng)絡(luò)應(yīng)用的速度,下面為大家分享一下Memcached的性能、優(yōu)點(diǎn)和限制。

10年積累的網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有永平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1. 節(jié)點(diǎn)均衡的網(wǎng)狀( JBoss Tree Cache ),利用 JGroup 的多播通信機(jī)制來同步數(shù)據(jù)。

2.Master-Slaves 模式(分布式文件系統(tǒng)),由 Master 來管理 Slave ,如何選擇 Slave ,如何遷移數(shù)據(jù),都是由 Master 來完成,但是 Master 本身也存在單點(diǎn)問題。

特性、優(yōu)點(diǎn)和限制

Memory :

內(nèi)存存儲(chǔ),速度快,對于內(nèi)存的要求高,所緩存的內(nèi)容非持久化。對于 CPU 要求很低,所以常常采用將 Memcached 服務(wù)端和一些 CPU 高消耗 Memory 低消耗應(yīng)用部屬在一起 。(否則會(huì)互相擠占資源)

集中式 Cache :

避開了分布式 Cache 的傳播問題,但是需要非單點(diǎn)保證其可靠性,這需要 cluster 的工作,可以將多個(gè) Memcached 作為一個(gè)虛擬的 cluster ,同時(shí)對于 cluster 的讀寫和普通的 memcached 的讀寫性能沒有差別。

分布式擴(kuò)展:

Memcached 很突出的一個(gè)優(yōu)點(diǎn),就是采用了可分布式擴(kuò)展的模式??梢詫⒉繉僭谝慌_(tái)機(jī)器上的多個(gè) Memcached 服務(wù)端或者部署在多個(gè)機(jī)器上的 Memcached 服務(wù)端組成一個(gè)虛擬的服務(wù)端,對于調(diào)用者來說完全屏蔽和透明。提高的單機(jī)器的內(nèi)存利用率 。

Socket 通信:

傳輸內(nèi)容的大小以及序列化的問題需要注意,雖然 Memcached 通常會(huì)被放置到內(nèi)網(wǎng)作為 Cache, Socket 傳輸速率應(yīng)該比較高(當(dāng)前支持 Tcp 和 udp 兩種模式,同時(shí)根據(jù)客戶端的不同可以選擇使用 nio 的同步或者異步調(diào)用方式),但是序列化成本和帶寬成本還是需要注意。這里也提一下序列化,對于對象序列化的性能往往讓大家頭痛,但是如果對于同一類的 Class 對象序列化傳輸,第一次序列化時(shí)間比較長,后續(xù)就會(huì)優(yōu)化,其實(shí)也就是說序列化最大的消耗不是對象序列化,而是類的序列化。如果穿過去的只是字符串,那么是最好的,省去了序列化的操作,因此在 Memcached 中保存的往往是較小的內(nèi)容 。

特殊的內(nèi)存分配機(jī)制:

首先要說明的是 Memcached 支持最大的存儲(chǔ)對象為 1M (page)。它的內(nèi)存分配比較特殊,但是這樣的分配方式其實(shí)也是對于性能考慮的,簡單的分配機(jī)制可以更容易回收再分配,節(jié)省對于 CPU 的使用(前面的文章中有描述) 。

Cache 機(jī)制簡單:

首先它沒有什么同步,消息分發(fā),兩階段提交等等,它就是一個(gè)很簡單的 Cache ,把東西放進(jìn)去,然后可以取出來,如果發(fā)現(xiàn)所提供的 Key 沒有命中,那么就很直白的告訴你,你這個(gè) key 沒有任何對應(yīng)的東西在緩存里,去數(shù)據(jù)庫或者其他地方取,當(dāng)你在外部數(shù)據(jù)源取到的時(shí)候,可以直接將內(nèi)容置入到 Cache 中,這樣下次就可以命中了 。這里會(huì)提到怎么去同步這些數(shù)據(jù),兩種方式,一種就是在你修改了以后立刻更新 Cache內(nèi)容,這樣就會(huì)即時(shí)生效。另一種是說容許有失效時(shí)間,到了失效時(shí)間,自然就會(huì)將內(nèi)容刪除,此時(shí)再去去的時(shí)候就會(huì)命中不了,然后再次將內(nèi)容置入 Cache ,用來更新內(nèi)容。后者用在一些時(shí)時(shí)性要求不高,寫入不頻繁的情況。

客戶端的重要性:

客戶端設(shè)計(jì)的合理十分重要,同時(shí)也給使用者提供了很大的空間去擴(kuò)展和設(shè)計(jì)客戶端來滿足各種場景的需要,包括容錯(cuò),權(quán)重,效率,特殊的功能性需求,嵌入框架等等。

幾個(gè)應(yīng)用點(diǎn):

小對象的緩存(用戶的 token ,權(quán)限信息,資源信息)。小的靜態(tài)資源緩存。 Sql 結(jié)果的緩存(這部分用的好,性能提高相當(dāng)大。)


標(biāo)題名稱:詳解Memcached的性能、優(yōu)點(diǎn)和限制
本文來源:http://uogjgqi.cn/article/djhihee.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流