1. 程式人生 > >Memcached緩存介紹

Memcached緩存介紹

flags 鍵值 退出 一致性hash 並發連接 log 最小 緩存 sta

Memcached是什麽?

    是一個開源的,高性能,高並發的分布式緩存系統(存內存的緩存系統)

軟件名稱:Memcached-1.4.24.tar.gz

客戶端名稱:Memcache-2.25.tar.gz

Memcached的作用:

    通過自身內存中緩存關系型數據庫的查詢結果,減少數據庫自身被訪問的次數,以提高動態web應用的速度,提高網站架構的並發能力和擴展性

1:電商的商品分類功能不會經常變動,可以實現放入memcache裏,然後在對外進行數據訪問,這個叫“數據預熱”

2:作為集群sesson會話共享存儲

特性

  1.     協議簡單,采用文本的協議,telnet/nc等命令就能操作memcached
  2. 支持epoll/kqueue異步I/O模型,使用libevent作為事件處理機制
  3.     key/value鍵值數據類型
  4.     全內存緩存,效率高
  5. 支持分布式集群(通過一致性hash算法)

安裝:

#檢查是否安裝

rpm -qa libevent libevent-devel nc telnet

#安裝管理工具及依賴

yum install libevent libevent-devel nc telnet -y

#安裝memcache

yum install memcached -y

#查看路徑

which memcached
/usr/bin/memcached

#啟動

memcached -m 16m -p 11211 -d -u root -c 8192

#常用參數

-m:使用多大內存(默認64,最大1024) -l 監聽地址

-p:端口(默認11211) -P PID保存的文件

-d:後臺運行 -M 內存不夠時禁止LRU(清除數據),滿了報錯

-u :用戶 -n key+value+flags分配的最小內存空間,默認48字節

-c:並發連接數(默認1024) -f chunk size增長因子,默認1.25

#查看端口

lsof -i:11211
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 2201 root 26u IPv4 12720 0t0 TCP *:memcache (LISTEN)
memcached 2201 root 27u IPv6 12721 0t0 TCP *:memcache (LISTEN)
memcached 2201 root 28u IPv4 12724 0t0 UDP *:memcache
memcached 2201 root 29u IPv6 12725 0t0 UDP *:memcache

#啟用多實例(增加一個端口就行了)

memcached -m 16m -p 11212 -d -u root -c 8192

#語法

set key1 0 0 6

command key flags exptime(過期時間,0不過期) 寫入內容value大小字節數\r\n

插入 set

查詢 get

刪除 delete

更新替換 replace(數據存在才會替換)

#進入memcache

telnet 127.0.0.1 11211

#寫入 取出 刪除 數據

set user01 0 0 7 #7字符要與下面存的內容相同
daxian1 #7個字符
STORED #成功
get user01 #通過key 取出數值
VALUE user01 0 7 #取出
daxian1 #顯示

delete user01 #刪除

quit #退出

#nc的用法

printf "set key1 0 0 6\r\ndaxian\r\n"|nc 127.0.0.1 11211

#取值

printf "get key1 \r\n"|nc 127.0.0.1 11211
VALUE key1 0 6
daxian
END

#刪除

printf "delete key1 \r\n"|nc 127.0.0.1 11211

Memcached緩存介紹