一、memcached簡介
1.memcached是緩存服務器,也可以說是提供緩存功能的服務器,由前端程序來決定是否需要緩存。
前端程序收到請求後,把請求內容轉發給後端服務(mysql,fastcgi等),服務將請求內容提供給前端應用後決定是否需要將其緩存至memcached。
2.memcached監聽在tcp/udp的11211端口。
3.memcached程序依賴於libevent,yum安裝不需要考慮依賴。http://memcached.org提供源碼包
4.安裝方式有epel源的rpm包,紅帽6.4以後自帶的yum源及編譯安裝。
二、memcached編譯安裝
下載memcacched-1.4.15.tar.gz libevent-2.0.21-stable.tar.gz
先安裝libevent,tar xf libevent-2.0.21-stable.tar.gz;
cd libevent-2.0.21
./configure --prefix=/usr/local/libevent
make && make install
ln -sv /usr/local/libevent/include /usr/include/libevent
vim /etc/ld.so.conf.d/libevent.conf
/usr/local/libevent/lib #添加頭文件
ldconfig #重新導出
tar xf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make && make install
三、啓動memcached
/usr/local/memcached/bin/memcached
添加sysV腳本 vim /etc/rc.d/init.d/memcached
chmod +x /etc/rc.d/init.d/memcached
chkconfig --add memcached
service memcached start
ss -tuanl | grep 11211 #查看服務啓動
注:可以使用memcached的選項來啓動 ./memcached -d -m 2048 -l 127.0.0.1 -p 11211
四、memcached使用
memcached命令選項
-p:指定tcp監聽端口 默認11211
-U:指定udp監聽端口 默認11211
-u:指定用戶名
-f:設定增長因子
-l:指定監聽的ip地址
-d:以守護進程方式運行
-m:最大使用內存
-c:最大允許的鏈接個數,通常默認1024
-v:顯示詳細信息
-vv
-vvv
2.memcached交互命令,參數
存儲類命令:set, add, replace, append, prepend
獲取數據類命令:get, delete, incr/decr
統計類命令:stats, stats items, stats slabs, stats sizes
清理命令:flush_all
參數:key flags "expiration time" bytes
value
3.簡單命令使用示例:
telnet 127.0.0.1 11211 #使用telnet鏈接memcached
set mykey 0 0 5 #在緩存中添加一個鍵值對,鍵爲mykey,過期時間爲0
abced #值爲abced
STORED #set可以添加鍵值對和修改值
add seckey 0 0 5 #add僅用作添加新的鍵值對
12345 #值
STORED
get mykey #讀取mykey的緩存
VALUE mykey 0 5
abced
END
replace key N N N #當鍵存在時替換緩存中的值,如果鍵不存在則不生效
delete keyname #刪除值
注:php加載memcached需要memcache模塊,添加依賴路徑,--enabled-memcache即可
五、管理工具memadmin,libmemcached/