memcache的應用細節和整理linux
環境:linux centos6.5
json
memcached-1.4.20.tar.gzcentos
安裝步驟:數組
# tar -zxvf memcached-1.4.20.tar.gz
緩存
# cd memcached-1.4.20memcached
# ./configure --prefix= /usr/local/memcached網站
# make
ui
# make install
spa
到此安裝完成,.net
啓動memcache
# cd /usr/local/memcached/bin
# ./memcached -p 11211 -d -u root -m 64 -vvv ### -p 啓動端口 默認11211 能夠指定別的端口 如11212 -d 守護進程 啓動 -u root 啓動用戶 -m 64 啓動的內存多大 -v 標準輸出 -vvv 以標準輸出在控制檯上顯示
如上圖所示表示啓動成功.
具體的使用以下:
增: add 往內存增長一行新記錄
語法:add key flag expire length 回車
key 給值起一個獨特的名字
flag 標誌,要求爲一個正整數
expire 有效期
length 緩存的長度(字節爲單位)
flag 的意義: memcached 基本文本協議,傳輸的東西,理解成字符串來存儲. 想:讓你存一個對象,和一個 數組,怎麼辦? 答:序列化成字符串,往出取的時候,天然還要反序列化成 對象/數組/json 格式等等. 這時候,flag 的意義就體現出來了. 好比,1 就是字符串,2 反轉成數組 3,反序列化對象.....
expire 的意義: 設置緩存的有效期,有 3 種格式 1:設置秒數, 從設定開始數,第 n 秒後失效. 2:時間戳, 到指定的時間戳後失效. 好比在團購網站,緩存的某團到中午 12:00 失效.add key 0 13792099996 3: 設爲 0. 不自動失效.
注: 有種誤會,設爲 0,永久有效.錯誤的.
1:編譯 memcached 時,指定一個最長常量,默認是 30 天. 因此,即便設爲 0,30 天后也會失效. 2:可能等不到 30 天,就會被新數據擠出去.
delete 刪除 deletekey [time seconds] 刪除指定的 key. 如加可選參數 time,則指刪除 key,並在刪除 key 後的 time 秒內,不容許 get,add,replace 操做此 key.
replace 替換 replacekeyflagexpire length 參數和 add 徹底同樣,不單獨寫
get 查詢 get key 返回 key 的值
incr,decr 命令:增長/減小值的大小 語法:
incr/decr key num
set age 0 0 2 28
stored
get age
value age 0 2 28
end
incr age 1
29
incr age 2
31
decr age 1
30
decr age 2
28
具體代碼以下 add&& get
# telnet localhost 11211 ## 用telnet方式去鏈接
[kssadmin@localhost bin]$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
add test 0 0 5 #### add 語法 add key flag expire length
hello
STORED
get test #### get test get 語法 get key
VALUE test 0 5
hello
END
quit ### 退出
刪除語法:
delete test ###delete key
DELETEDget testEND