memcached 搭建

在這裏插入圖片描述

是什麼?

memcached是一套分佈式的高速緩存系統,由LiveJournal的Brad Fitzpatrick開發,但被許多網站使用。這是一套開放源代碼軟件,以BSD license授權發佈。
memcached缺乏認證以及安全管制,這代表應該將memcached服務器放置在防火牆後。
memcached的API使用三十二比特的循環冗餘校驗(CRC-32)計算鍵值後,將數據分散在不同的機器上。當表格滿了以後,接下來新增的數據會以LRU機制替換掉。由於memcached通常只是當作緩存系統使用,所以使用memcached的應用程序在寫回較慢的系統時(像是後端的數據庫)需要額外的代碼更新memcached內的數據。

外文名:memcached
發佈形式:BSD license授權
釋 義:分佈式的高速緩存系統
通信手段:memcached協議
開發人員:Brad Fitzpatrick
授權狀態:開放源代碼軟件

memcached作爲高速運行的分佈式緩存服務器,具有以下的特點。

· 協議簡單
· 基於libevent的事件處理
· 內置內存存儲方式
· memcached不互相通信的分佈式

事件處理

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

存儲方式

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

通信分佈式

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

功能

一個用PHP編寫的可視化的MemCached管理系統
MemAdmin是一款可視化的Memcached管理與監控工具,使用PHP開發,體積小,操作簡單。
主要功能:
服務器參數監控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時刷新
服務器性能監控:GET、DELETE、INCR、DECR、CAS等常用操作命中率實時監控
支持數據遍歷,方便對存儲內容進行監視
支持條件查詢,篩選出滿足條件的KEY或VALUE
數組、JSON等序列化字符反序列顯示
兼容memcache協議的其他服務,如Tokyo Tyrant (遍歷功能除外)
支持服務器連接池,多服務器管理切換方便簡潔

Memcached 用戶

以下站點都使用到了Memcached服務: [2]
LiveJournal
Wikipedia
Flickr
Bebo
Twitter
Typepad
Yellowbot
Youtube
WordPress.com
Craigslist
Mixi

搭建配置

1.由於memcached依賴於libevent,因此需要安裝libevent。由於linux系統可能默認已經安裝libevent,執行命令:
rpm -qa|grep libevent

2.查看系統是否帶有該安裝軟件,如果有執行命令:
安裝libevent命令
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
make
make install
至此libevent安裝完畢;
ps:若安裝過程中出現configure: error : no acceptable C compiler found in $PATH錯誤時是沒有安裝gcc,運行如下命令:
yum install gcc* make*

3.安裝memcached命令:
tar -zxvf memcached-1.4.2.tar.gz
cd memcached-memcached-1.4.2
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
make
make install
至此memcached安裝完畢;

4.啓動memcached
[root@localhost memcached-1.5.12]# /usr/local/memcached/bin/memcached -d - m 256 -u root -p 11211 -c 1024 –P /tmp/memcached.pid

啓動參數說明:
-d 選項是啓動一個守護進程。
-u root 表示啓動memcached的用戶爲root。
-m 是分配給Memcache使用的內存數量,單位是MB,默認64MB。
-M return error on memory exhausted (rather than removing items)。
-u 是運行Memcache的用戶,如果當前爲root 的話,需要使用此參數指定用戶。
-p 是設置Memcache的TCP監聽的端口,最好是1024以上的端口。
-c 選項是最大運行的併發連接數,默認是1024。
-P 是設置保存Memcache的pid文件。

也可以啓動多個守護進程,但是端口不能重複。

5.查看memcached啓動命令
ps aux|grep memcached

在這裏插入圖片描述

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