Memcached 是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護進程通信。
主要功能:
- 服務(wù)器參數(shù)監(jiān)控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時刷新
- 服務(wù)器性能監(jiān)控:GET、DELETE、INCR、DECR、CAS等常用操作命中率實時監(jiān)控
- 支持數(shù)據(jù)遍歷,方便對存儲內(nèi)容進行監(jiān)視
- 支持條件查詢,篩選出滿足條件的KEY或VALUE
- 數(shù)組、JSON等序列化字符反序列顯示
- 兼容memcache協(xié)議的其他服務(wù),如Tokyo Tyrant (遍歷功能除外)
- 支持服務(wù)器連接池,多服務(wù)器管理切換方便簡潔
在Nginx服務(wù)器的標準HTTP模塊中有一個ngx_http_memcached_module模塊,專門用于處理和memcached相關(guān)的配置和功能實現(xiàn),
1, memcached_pass
用于配置memcached服務(wù)器的地址
memcached_pass adress;
其中address 為memcached服務(wù)器的地址,支持IP+端口或者域名地址,也可以使用upstream指令配置一個memcacched服務(wù)器組,然后配置為upstream的名稱
2, memcached_connect_timeout
用于配置連接memcached服務(wù)器的超時時間,
memcached_connect_timeout time;
time未設(shè)置的超時時間,默認為60,建議不要超過75;
3, memcached_read_timeout
配置Nginx服務(wù)器向memcached服務(wù)器發(fā)出兩次read請求之間的等待超時時間,如果在該事件沒有驚醒數(shù)據(jù)傳輸,連接將會關(guān)閉
memcached_read_timeout time;
默認時間60
4 memcached_send_timeout
用于配置Nginx服務(wù)器向memcached服務(wù)器發(fā)出兩次write請求之間的等待超時時間,如果在該事件沒有驚醒數(shù)據(jù)傳輸,連接將會關(guān)閉
5 memcached_buffer_size
用于配置Nginx 服務(wù)器用于接收memcached服務(wù)器響應(yīng)數(shù)據(jù)的緩存區(qū)大小
memcached_buffer_size size
size 為設(shè)置的緩存區(qū)大小,一般時所在的平臺的內(nèi)存也的大小背書
memcached_buffer_size 4K|8K
6, memcached_next_upstream 指令
用于配置了一組memcached服務(wù)器的情況下使用,服務(wù)器組中個memcached服務(wù)器的訪問規(guī)則遵循upstream指令配置的輪詢規(guī)則,同時可以使用該指令配置在發(fā)生那些異常情況時,將請求順次加油下一個組內(nèi)地而服務(wù)器處理
memcached_next_uptream status …
其中, status 未設(shè)置的memcached服務(wù)器返回狀態(tài),可以是多個
error 在建立連接,向memcached服務(wù)器發(fā)送請求或者讀取響應(yīng)頭時服務(wù)器發(fā)生錯誤
timeout 在建立連接,向memcached服務(wù)器發(fā)送請求或者讀取相應(yīng)頭時服務(wù)器發(fā)生連接超時
incalid_header, memcached 服務(wù)器返回的響應(yīng)頭為空或者無效
not_found, memcached 服務(wù)器未找到對呀的鍵/值對
off 無法將請求發(fā)送給memcache服務(wù)短
站長資訊網(wǎng)