Memcached 是一個高性能的分散式記憶體對象緩存系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中緩存數據和對象來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用寫的,但是客戶端可以用任何語言 ...
Memcached 是一個高性能的分散式記憶體對象緩存系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中緩存數據和對象來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用寫的,但是客戶端可以用任何語言來編寫,並通過memcached協議與守護進程通信。
一、Memcached簡介
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不互相通信的分散式
三、Linux下的安裝使用
yum install memcached
如果缺少其他包請安裝以下組件
yum groupinstall "Development Tools"
四、Memcached配置文件
Memcached的配置文件非常的簡單,如果不需要改動就按預設的然後直接啟動即可。
主程式:/usr/bin/memcached
配置文件:/etc/sysconfig/memcached
# cat /etc/sysconfig/memcached
PORT="11211" # memechaced監聽的埠
USER="memcached" # 運行程式的用戶
MAXCONN="1024" # 最大併發連接數
CACHESIZE="64" # 緩存大小
OPTIONS=""
五、Memcached的運行命令
/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的連接
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 退出