linux上安裝Memcached以及介紹

一、定義

Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程daemon)是用C寫的,但是客戶端可以用任何語言來編寫,並通過memcached協議與守護進程通信。

 

二、功能

memcached是一套分佈式的快取系統,當初是Danga Interactive爲了LiveJournal所發展的,但被許多軟件(如MediaWiki)所使用。這是一套開放源代碼軟件,以BSD license授權協議發佈。

memcached缺乏認證以及安全管制,這代表應該將memcached服務器放置在防火牆後。

memcached是高性能的分佈式內存緩存服務器。一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。

Memcached 的守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,並通過memcached協議與守護進程通信。但是它並不提供冗餘(例如,複製其hashmap條目);當某個服務器S停止運行或崩潰了,所有存放在S上的鍵/值對都將丟失。

 

主要功能:

1) 服務器參數監控:STATSSETTINGSITEMSSLABSSIZES實時刷新

2) 服務器性能監控:GETDELETEINCRDECRCAS等常用操作命中率實時監控

3) 支持數據遍歷,方便對存儲內容進行監視

4) 支持條件查詢,篩選出滿足條件的KEYVALUE

5) 數組、JSON等序列化字符反序列顯示

6) 兼容memcache協議的其他服務,如Tokyo Tyrant (遍歷功能除外)

7) 支持服務器連接池,多服務器管理切換方便簡潔

三、特徵

協議簡單

基於libevent的事件處理

內置內存存儲方式

memcached不互相通信的分佈式

 

協議

memcached的服務器客戶端通信並不使用複雜的XML等格式,而使用簡單的基於文本行的協議。

事件處理

libevent是個程序庫,它將LinuxepollBSD類操作系統的kqueue等事件處理功能封裝成統一的接口。即使對服務器的連接數增加,也能發揮O(1)性能。memcached使用這個libevent庫,因此能在LinuxBSDSolaris操作系統上發揮其高性能。關於事件處理這裏就不再詳細介紹,可以參考DanKegelThe C10K Problem

存儲方式

爲了提高性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。由於數據僅存在於內存中,因此重啓memcached、重啓操作系統會導致全部數據消失。另外,內容容量達到指定值之後,就基於LRU(LeastRecently Used)算法自動刪除不使用的緩存memcached本身是爲緩存而設計的服務器,因此並沒有過多考慮數據的永久性問題。

通信分佈式

memcached儘管是“分佈式”緩存服務器,但服務器端並沒有分佈式功能。各個memcached不會互相通信以共享信息。那麼,怎樣進行分佈式呢?這完全取決於客戶端的實現。本文也將介紹memcached的分佈式。

 

四、安裝所需配置

需要 libevent-2.0.21-stable.tar.gz memcached-1.4.34.tar.gz

環境CentOS 6.8

如果安裝環境是Redhat版本的安裝步驟是一樣的 

要注意的是Redhat需要安裝CentOS的yum源

不會安裝的朋友可以看我的博文有安裝過程地址爲http://blog.csdn.net/lkl_csdn/article/details/72979653

 

五、安裝

a) 首先安裝GCC  yum -y install gcc ,用於make指令

b) 解壓 libevent-2.0.21-stable.tar.gz

i. 進入解壓後文件目錄

ii. 執行 ./configure -prefix=/usr/libevent && make && make install

c) 解壓 memcached-1.4.34.tar.gz

i. 進入解壓後的文件目錄

ii. 執行 ./configure -with-libevent=/usr/libevent/  -prefix=/usr/memcached && make && make install

d) 啓動

i. /usr/memcached/bin/memcached -d -m 10m -p 11211 -u root (11211是默認端口)

ii. 啓動參數介紹如下:和上面的命令不對應

1. -d選項是啓動一個守護進程,

2. -m是分配給Memcache使用的內存數量,單位是MB,這裏是10MB

3. -u是運行Memcache的用戶,這裏是root

4. -l是監聽的服務器IP地址,如果有多個地址的話,這裏指定了服務器的IP地址192.168.0.200

5. -p是設置Memcache監聽的端口,這裏設置了11211,最好是1024以上的端口,

6. -c選項是最大運行的併發連接數,默認是1024,這裏設置了256,按照服務器的負載量來設定,

7. -P是設置保存Memcachepid文件,我這裏是保存在/tmp/memcached.pid,也可以啓動多個守護進程,不過端口不能重複。

六、常見的錯誤

a) 執行make 會出現找不多這個命令 是因爲沒有安裝gcc  可以在線安裝yum -y install gcc

七、連接Memcache端口

使用telnet連接(telnet不會安裝的可以看我上一篇博文有centos的telnet安裝地址是:  http://blog.csdn.net/lkl_csdn/article/details/72977708)

命令是: telnet ip 端口號 如: telnet 192.168.1.9 11211

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章