溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Memcached的性能、優(yōu)點和限制是什么

發(fā)布時間:2022-02-19 09:17:37 來源:億速云 閱讀:125 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Memcached的性能、優(yōu)點和限制是什么的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Memcached的性能、優(yōu)點和限制是什么文章都會有所收獲,下面我們一起來看看吧。

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

Memcached的性能、優(yōu)點和限制是什么

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

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

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

Memory :

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

集中式 Cache :

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

分布式擴展:

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

Socket 通信:

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

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

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

Cache 機制簡單:

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

客戶端的重要性:

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

幾個應(yīng)用點:

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

關(guān)于“Memcached的性能、優(yōu)點和限制是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Memcached的性能、優(yōu)點和限制是什么”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI