首頁 資料庫 關於Memcached作原理的詳細介紹【總結】

關於Memcached作原理的詳細介紹【總結】

Sep 10, 2018 pm 05:55 PM
memcached

本篇文章主要給大家詳細介紹關於Memcached 工作原理。大家也可以參考關注Memcached影片教學Memcached手冊

一、簡介:

Memcache是​​一個高效能的分散式的記憶體物件快取系統,透過在記憶體裡維護一個統一的巨大的hash表,它能夠用來儲存各種格式的數據,包括影像、影片、檔案以及資料庫檢索的結果等。簡單的說就是將資料呼叫到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度。 Memcached是以守護程式方式運作於一個或多個伺服器中,隨時會接收客戶端的連線和操作。

二、特性:

1. Memcached中可以保存的item資料量是沒有限制的,只要記憶體足夠 。

2.Memcached單一進程最大使用內存為2G,要使用更多內存,可以分多個端口開啟多個Memcached進程 
3.最大30天的數據過期時間,設置為永久的也會在這個時間過期,常數REALTIME_MAXDELTA  
4.最大鍵長為250位元組,大於該長度無法存儲,常數KEY_MAX_LENGTH 250控制 
#5.單一item最大資料是1MB,超過1MB資料不予儲存,常數POWER_BLOCK 1048576進行控制, 
6.它是預設的slab大小 
7.最大同時連接數是200,透過 conn_init()中的freetotal進行控制,最大軟連接數是1024,透過settings.maxconns=1024 進行控制 ,跟空間佔用相關的參數:settings.factor=1.25, settings.chunk_size=48, 影響slab的資料佔用和步進方式

8.memcached是一種無阻塞的socket通信方式服務,基於libevent庫,由於無阻塞通信,對內存讀寫速度非常之快。
9.memcached分伺服器端和客戶端,可以設定多個伺服器端和客戶端,應用於分散式的服務非常廣泛。

10.memcached作為小規模的資料分散式平台是十分有效果的。

11.memcached是鍵值一一對應,key預設最大不能超過128個字 節,value預設大小是1M,也就是一個slabs,如果要存2M的值(連續的),不能用兩個slabs,因為兩個slabs不是連續的,無法在記憶體中 存儲,故需要修改slabs的大小,多個key和value進行存儲時,即使這個slabs沒有利用完,那麼也不會存放別的數據。

12.價值不高的資料放入,不然伺服器宕了,那麼資料全部遺失

三、適用場合

1.分散式應用程式。由於memcached本身是基於分散式的系統,因此特別適合大型的分散式系統。

2.資料庫前段快取。資料庫常常是網站系統的瓶頸。資料庫的大並發量訪問,常常造成網站記憶體溢出。當然我們也可以使用Hibernate的快取機制。但memcached是基於分散式的,並可獨立於網站應用程式本身,所以更適合大型網站進行應用程式的分割。

3.伺服器間資料共享。舉例來講,我們將網站的登入系統、查詢系統拆分為兩個應用,放在不同的伺服器上,並進行集群,那這個時候用戶登入後,登入資訊如何從登入系統伺服器同步到查詢系統伺服器呢?這時候,我們便可以使用memcached,登入系統將登入資訊快取起來,查詢系統便可以獲得登入信息,就像獲取本地資訊一樣。

四、不適用場合

那些不需要「分佈」的,不需要共享的,或者乾脆規模小到只有一台伺服器的應用,memcached不會帶來任何好處,相反還會拖慢系統效率,因為網路連線同樣需要資源

這篇文章有一定的參考價值,希望對大家有需要的朋友有幫助!

以上是關於Memcached作原理的詳細介紹【總結】的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Memcached快取技術對於PHP中的Session處理的最佳化 Memcached快取技術對於PHP中的Session處理的最佳化 May 16, 2023 am 08:41 AM

Memcached是一種常用的快取技術,它可以讓Web應用程式的效能得到很大的提升。在PHP中,常用的Session處理方式是將Session檔案存放在伺服器的硬碟上。但是,這種方式並不是最優的,因為伺服器的硬碟會成為效能瓶頸之一。而使用Memcached快取技術可以對PHP中的Session處理進行最佳化,提升Web應用程式的效能。 PHP中的Session處

PHP8.0中的快取庫:Memcached PHP8.0中的快取庫:Memcached May 14, 2023 am 08:16 AM

PHP8.0中的快取庫:Memcached隨著網路的快速發展,現代應用程式需要高效可靠的快取技術來提高效能和處理大量資料。由於PHP的流行和開源特性,PHP快取庫已經成為了Web開發社群的必備工具。 Memcached是一種廣泛使用的開源高速記憶體快取系統,它能處理數百萬個同時連接的快取請求,可以用於許多不同類型的應用程序,例如社交網路、在線

如何使用Memcached快取技術優化PHP應用程式CPU的使用率? 如何使用Memcached快取技術優化PHP應用程式CPU的使用率? Jun 21, 2023 pm 05:07 PM

隨著互聯網的發展,PHP應用程式在網路應用領域中變得越來越常見。但是,PHP應用程式的高並發存取會導致伺服器的CPU使用率高,進而影響應用程式的效能。為了優化PHP應用程式的效能,Memcached快取技術成為了一個很好的選擇。本文將介紹如何使用Memcached快取技術最佳化PHP應用程式CPU的使用率。 Memcached快取技術簡介Memcached是一

PHP與Memcached資料庫備份與恢復 PHP與Memcached資料庫備份與恢復 May 15, 2023 pm 09:12 PM

隨著網路的快速發展,大規模MySQL資料庫備份和復原成為各大企業和網站必備的技能之一。而隨著Memcached的廣泛應用,如何備份和還原Memcached也成為了一個重要的問題。 PHP作為Web開發的主力語言之一,在處理備份和復原MySQL和Memcached上擁有獨特的優勢和技巧。本文將詳細介紹PHP處理MySQL與Memcached備份與復原的實作方法

PHP與Memcached效能監控 PHP與Memcached效能監控 May 15, 2023 pm 09:51 PM

隨著現代網路應用的快速發展,使用者體驗對於一個應用程式的成功至關重要。如何確保應用程式的高效能和高可用性,成為了開發人員需要解決的重要問題之一。 PHP作為一種廣泛應用的程式語言之一,它的效能監控和最佳化也是非常重要的。 Memcached是一個高效能、分散式的記憶體物件快取系統,可以幫助應用程式提高效能和擴充性。本文將介紹如何使用PHP和Memcached實現效能監控的方法。

使用PHP和Memcached進行快取管理 使用PHP和Memcached進行快取管理 May 23, 2023 pm 02:21 PM

隨著網路應用的不斷增加和資料量的不斷膨脹,資料的讀寫效率成為影響應用效能的重要因素之一。而快取技術的應用則可以很好地解決這個問題。在PHP應用程式中,Memcached是最常用的快取伺服器。 Memcached是一個高效能的分散式記憶體物件快取系統,可以將常用的資料儲存在記憶體中,提高資料檢索的效率。本文將介紹如何使用PHP和Memcached進行快取管理,以及如何優

如何在CakePHP中使用Memcached? 如何在CakePHP中使用Memcached? Jun 04, 2023 am 08:14 AM

隨著現代應用程式的快速成長,快取已成為許多開發人員的至關重要的部分。快取可以大大提高應用程式的效能並減少伺服器負載。在CakePHP中,實作快取的一種方法是使用Memcached。 Memcached是一個基於記憶體的分散式快取系統。它將資料儲存在記憶體中,可以快速地讀取和寫入資料。在多伺服器環境中,Memcached可以分散式儲存資料並透過網路進行共用。不僅可以

利用Memcached快取技術對於PHP中的影音播放進行最佳化 利用Memcached快取技術對於PHP中的影音播放進行最佳化 May 17, 2023 pm 04:01 PM

隨著網路技術的不斷發展,影音資源已成為了網路上非常重要的內容形式,而PHP作為網路開發中使用最廣泛的語言之一,也不斷地應用於視訊和音訊播放領域。然而,隨著影音網站的用戶日益增加,許多網站已經發現了一個問題:在高並發的情況下,PHP對於影音的處理速度明顯變緩,會導致無法及時播放或播放卡頓等問題。為了解決這個問題,Memcached快取技術應