這篇博文以實用為目的,因此,先闡述如何安裝Memcached,然后在實踐中談談自己自己對Memcached的一點理解。
首先,安裝Memcached,點擊此處下載安裝文件以及源碼。
解壓文件(我這里將安裝文件放在F盤文件夾memcached-1.2.6-win32-bin中)。
以管理員身份運行cmd。
第一步:定位解壓文件位置,如果是F盤,則直接輸入F: ,然后回車鍵;
第二步:定位memcached.exe所在的文件下,輸入命令 cd F: memcached-1.2.6-win32-bin,繼續回車;
第三步:安裝服務,輸入命令 memcached –d install,然后回車。
安裝過程,如下圖所示:

Memcached的默認服務端口號為 11211,當然也可以使用命令memcached.exe -p 11211 -m 64 指定它的監聽端口是11211(這是它的默認端口,可以指定為其它大於1024的端口,因為小於1024的端口已經有了默認指定),最大使用內存為64m。
安裝成功后,我們可以telnet memcached,查看里面的一些信息。
運行cmd,然后直接輸入命令 telnet 127.0.0.1 11211,進入后輸入 stats,查看memcached的狀態,如下圖所示

輸入quit 指令,並按下Enter 可退出
如果你的系統是w7,則可能提示你沒有安裝telnet,則需要打開控制面板,點擊左側“打開或關閉windows功能”,打開后勾選Telnet相關組件即可。
進入memcached后,如下圖所示,我們可以輸入命令"add",如下圖所示。

即可往memcached里存儲數據類型為整型,長度為11,存儲時間無限長的的名稱為testkey1的數據。
存儲命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
參數說明如下:
<command name> set/add/replace
<key> 查找關鍵字
<flags> 客戶機使用它存儲關於鍵值對的額外信息
<exptime> 該數據的存活時間,0表示永遠
<bytes> 存儲字節數
<data block> 存儲的數據塊(可直接理解為key-value結構中的value)
1、set
不但可以簡單添加,如果set的key已經存在,該命令可以更新該key所對應的原有數據,實現更新的作用。
存儲后,可輸入 命令 get <key>查看存儲的數據,如下圖所示。

set命令不但可以簡單添加,如果set的key已經存在,該命令可以更新該key所對應的原來的數據。
gets可以檢查數據是否發生改變。當key對應的數據改變時,返回的數據也會改變。
如果使用gets命令,會在數據長度后面多一個變量值,這里是3。如下圖所示。

2、replace
替換原有的數據,不僅可以替換key,也可以替換value的大小,如下圖所示。

3、delete <key>
刪除緩存,如下圖所示

4、gets
比普通的get命令多返回了一個數字。這個數字可以檢查數據是否發生改變,
如下圖所示(下圖中為9,由“123456”替換為了“123”,至於如何計算出9的,我也不太清楚)。
5、cas
即checked and set的意思,只有當最后一個參數和gets所獲取的參數匹配時才能存儲,否則返回“EXISTS”。

6、stats cachedump slab_id limit_num
limit_num表示返回多少條記錄,0表示顯示出所有記錄

至於 slab所代表的意思,下面會慢慢講來。
7、append
在現有的緩存數據后添加緩存數據,如下圖所示。

8、prepend
在現有的緩存前添加緩存數據,如下圖所示

9、flush_all
實際上沒有立即釋放項目所占用的內存,而是在隨后陸續有新的項目被儲存時執行(這是由memcached的懶惰檢測和刪除機制決定的)。

講了這么多操作,下一篇會返回來談談理論吧。
