memcache的原理?是否能存入2M的value?

Memcache是一個高性能的分佈式的內存對象緩存系統,通過在內存裏維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度。  Memcache是danga的一個項目,最早是LiveJournal 服務的,最初爲了加速 LiveJournal 訪問速度而開發的,後來被很多大型的網站採用。  Memcached是以守護程序(監聽)方式運行於一個或多個服務器中,隨時會接收客戶端的連接和操作。  在 Memcached中可以保存的item數據量是沒有限制的,只要內存足夠 。  Memcached單進程在32位系統中最大使用內存爲2G,若在64位系統則沒有限制,這是由於32位系統限制單進程最多可使用2G內存,要使用更多內存,可以分多個端口開啓多個Memcached進程 ,  最大30天的數據過期時間,設置爲永久的也會在這個時間過期,常量REALTIME_MAXDELTA  60*60*24*30控制  最大鍵長爲250字節,大於該長度無法存儲,常量KEY_MAX_LENGTH 250控制  單個item最大數據是1MB,超過1MB數據不予存儲,常量POWER_BLOCK 1048576進行控制,  它是默認的slab大小  最大同時連接數是200,通過 conn_init()中的freetotal進行控制,最大軟連接數是1024,通過  settings.maxconns=1024 進行控制  跟空間佔用相關的參數:settings.factor=1.25, settings.chunk_size=48, 影響slab的數據佔用和步進方式  memcached是一種無阻塞的socket通信方式服務,基於libevent庫,由於無阻塞通信,對內存讀寫速度非常之快。  memcached分服務器端和客戶端,可以配置多個服務器端和客戶端,應用於分佈式的服務非常廣泛。
發佈了79 篇原創文章 · 獲贊 42 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章