天天看點

一腳踏進Memcached的大門一、Memcached簡介二、Memcached的特性三、Linux下的安裝使用四、Memcached配置檔案五、Memcached的運作指令六、Memcached的連接配接

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簡介二、Memcached的特性三、Linux下的安裝使用四、Memcached配置檔案五、Memcached的運作指令六、Memcached的連接配接

二、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                                                            退出