memcached介紹和基本命令,memcached介紹命令
【介紹】:
Memcached 是一個高效能的分布式記憶體對象緩衝系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和對象來減少讀取資料庫的次數,從而提供動態、資料 庫驅動網站的速度。Memcached基於一個儲存鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是用戶端可以用任何語言來編寫,並通過memcached協議與守護進程通訊。
【特點】:
1. 協議簡單
2. 基於libevent的事件處理
3. 內建記憶體儲存方式
4. 採用不互相通訊的分布式
【缺點】:
1. 重啟memcached伺服器或者作業系統會使資料消失
2. 記憶體容量達到指定值之後,就會使用LRU演算法自動刪除不使用或者很少使用的緩衝。
Memcached啟動選項:
選項 |
描述 |
-d |
以精靈(daemon)方式運行memcached |
-m |
設定memcached可以使用記憶體的大小,單位為MB |
-l |
設定監聽的IP地址 |
-p |
設定監聽的連接埠,預設為11211 |
-u |
指定使用者,通常使用該選項指定為root使用者 |
啟動memcached:
Memcached –vvv
Memcached用戶端與伺服器端的通訊使用文本協議,可以使用telnet與memcached互動。
如:telnet127.0.0.1 11211(memcached預設連接埠是11211)
按下ctrl + ] 開啟回顯功能。
Memcached命令:
1. 增:add往記憶體中增加一行新紀錄
文法:add key flag expire length
1)Key:值的名字
2)Flag:標誌,是一個正整數
當往記憶體中存數組或者對象等時,就需要flag標誌。序列化成字串,取出時還原序列化成相應的格式。
1. 字串
2. 反轉成數組
3. 還原序列化對象
3)Expire:有效期間,N秒後結束。設為0不自動失效,但30天后失效,也有可能被新資料擠出去。
設定10秒後失效:
4)Length:緩衝的長度,位元組為單位
2. 刪
可以加上秒數,讓該key在N秒內不能使用,使網站上的頁面緩衝代謝完畢。
Replace可對於已經存在的鍵變更。
Set命令有add和replace兩者的功能。沒有鍵可以增加,有可以更改。
Incr和decr命令:
把值當成32位無符號位來操作。
應用情境:
秒殺功能,秒殺主要在記憶體功能,速度很快。
Stats :統計命令
a. pid:memcached啟動並執行進程號
b. uptime:已耗用時間
c. time:當前的時間戳記
d. version:目前的版本
e. total_items:曆史儲存的鍵數
f. curr_items:當前儲存的鍵數
g. cmd_get:總共向memcached伺服器請求的次數
h. get_hits:響應成功的次數
i. get_misses:失敗的次數
通過這三個可以求出快取命中率。命中率越高越優秀。
Flush_all:清除緩衝對象(慎用);