Memcached緩存介紹
Memcached是什麽?
是一個開源的,高性能,高並發的分布式緩存系統(存內存的緩存系統)
軟件名稱:Memcached-1.4.24.tar.gz
客戶端名稱:Memcache-2.25.tar.gz
Memcached的作用:
通過自身內存中緩存關系型數據庫的查詢結果,減少數據庫自身被訪問的次數,以提高動態web應用的速度,提高網站架構的並發能力和擴展性
1:電商的商品分類功能不會經常變動,可以實現放入memcache裏,然後在對外進行數據訪問,這個叫“數據預熱”
2:作為集群sesson會話共享存儲
特性:
- 協議簡單,采用文本的協議,telnet/nc等命令就能操作memcached
- 支持epoll/kqueue異步I/O模型,使用libevent作為事件處理機制
- key/value鍵值數據類型
- 全內存緩存,效率高
- 支持分布式集群(通過一致性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緩存介紹