關於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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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