Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提升動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用寫的,可是客戶端能夠用任何語言來編寫,並經過memcached協議與守護進程通訊。linux
Memcached是一個自由開源的,高性能,分佈式內存對象緩存系統。數據庫
Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric爲首開發的一款軟件。如今已成爲mixi、hatena、Facebook、Vox、LiveJournal等衆多服務中提升Web應用擴展性的重要因素。緩存
Memcached是一種基於內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象)。這些數據能夠是數據庫調用、API調用或者是頁面渲染的結果。服務器
Memcached簡潔而強大。它的簡潔設計便於快速開發,減輕開發難度,解決了大數據量緩存的不少問題。它的API兼容大部分流行的開發語言。併發
本質上,它是一個簡潔的key-value存儲系統。分佈式
通常的使用目的是,經過緩存數據庫查詢結果,減小數據庫訪問次數,以提升動態Web應用的速度、提升可擴展性。
memcached
memcached做爲高速運行的分佈式緩存服務器,具備如下的特色。性能
- 協議簡單
- 基於libevent的事件處理
- 內置內存存儲方式
- memcached不互相通訊的分佈式
yum install memcached 若是缺乏其餘包請安裝如下組件 yum groupinstall "Development Tools"
Memcached的配置文件很是的簡單,若是不須要改動就按默認的而後直接啓動便可。
主程序:/usr/bin/memcached
配置文件:/etc/sysconfig/memcached大數據
# cat /etc/sysconfig/memcached PORT="11211" # memechaced監聽的端口 USER="memcached" # 運行程序的用戶 MAXCONN="1024" # 最大併發鏈接數 CACHESIZE="64" # 緩存大小 OPTIONS=""
/usr/local/memcached/bin/memcached -h -d是啓動一個守護進程; -m是分配給Memcache使用的內存數量,單位是MB; -u是運行Memcache的用戶; -l是監聽的服務器IP地址,能夠有多個地址; -p是設置Memcache監聽的端口,,最好是1024以上的端口; -c是最大運行的併發鏈接數,默認是1024; -P是設置保存Memcache的pid文件。 做爲後臺程序運行 /usr/local/memcached/bin/memcached -p 11211 -m 64m -d
memcached默認沒有認證機制,可借用於SASL進行認證;因此要想鏈接memcahced的話直接使用最簡單的telnet命令便可鏈接網站
telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. set foo 0 0 3 保存命令 bar 數據 STORED 結果 get foo 取得命令 VALUE foo 0 3 數據 bar 數據 END 結束行 quit 退出