在這裏,我使用的系統環境是CentOS6.5。本文是參考了博客園-曹振華的文章。
html
libevent 是安裝 memcached 的惟一前提條件。它是 memcached 所依賴的異步事件通知庫。您能夠在 monkey.org 上找到關於 libevent 的源文件。接下來,找到其最新版本的源文件。對於本文,咱們使用穩定的 1.4.11 版本。獲取了歸檔文件以後,我將它解壓到一個位置,切換到libevent目錄中。執行configure、make、make install等命令shell
[root@localhost local]# cd libevent-1.4.14b-stable [root@localhost local]# .configure [root@localhost local]# make [root@localhost local]# make install
下載memcached,我使用的是memcached-1.4.20.tar.gz。將壓縮包解壓,並將解壓後的文件重名爲memcached。緩存
[root@localhost local]# tar -zxvf memcached-1.4.20.tar.gz [root@localhost local]# mv memcached-1.4.20 memcached
接下來是生成和安裝memcached。切換到memcached中,執行以下命令
服務器
[root@localhost local]# ./configure [root@localhost local]# make [root@localhost local]# make install
完成這些工做只能算是完成了一個大概的工做,尚未驗證memcached的服務是否可用。個人memcached目錄在/usr/local下,安裝完了以後在/usr/local/bin目錄下會有memcached的文件。異步
切換到/usr/local/bin目錄下,執行如下命令。
memcached
[root@localhost bin]# ./memcached -d -m 128 -u root -p 11211 -c 256 -P /var/run/memcached.pid
驗證memcached是否啓動。spa
[root@localhost bin]# ps -aux|grep memcached root 36088 0.7 0.1 331048 1160 ? Ssl 23:20 0:00 ./memcached -d -m 128 -u root -p 11211 -c 256 -P /v ar/run/memcached.pid root 36098 0.0 0.0 103244 840 pts/1 S+ 23:21 0:00 grep memcached
注意:在啓動memcached的時候,可能會有找不到libevent-1.4.so.2的錯誤,找到加載的位置,在對應出創建一個軟鏈接便可。日誌
step1:找到libevent-1.4.so.2文件的路徑code
[root@localhost bin]# find / -name libevent-1.4.so.2
step2:查看日誌,錯誤出在哪兒。htm
[root@localhost bin]# LD_DEBUG=libs /usr/local/bin/memcached -v
step3:給libevent-1.4.so.2出錯的位置創建一個軟件鏈接
[root@localhost bin]# ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2
telnet host po
[root@localhost bin]# telnet localhost 11211
看到以下信息表示已經鏈接上了。
Trying ::1... Connected to localhost. Escape character is '^]'.
memcached命令格式以下
command <key> <flags> <expiration time> <bytes> <value>
set命令用於向緩存中添加新的鍵值對。若是已經存在,則替換以前的值。
set userId 0 0 5 0001 STORED
若是使用 set 命令正確設定了鍵值對,服務器將使用單詞 STORED 進行響應。本示例向緩存中添加了一個鍵值對,其鍵爲 userId,其值爲 12345。並將過時時間設置爲 0,這將向 memcached 通知您但願將此值存儲在緩存中直到刪除它爲止。
僅當緩存中不存在鍵時,add 命令纔會向緩存中添加一個鍵值對。若是緩存中已經存在鍵,則以前的值將仍然保持相同,而且您將得到響應 NOT_STORED。
set userId 0 0 5 12345 STORED add userId 0 0 5 55555 NOT_STORED add deptId 0 0 4 0002 STORED
僅當鍵已經存在時,replace 命令纔會替換緩存中的鍵。若是緩存中不存在鍵,那麼您將從 memcached 服務器接受到一條 NOT_STORED 響應。
replace acctId 0 0 5 67890 NOT_STORED set acctId 0 0 5 67890 STORED replace acctId 0 0 5 55555 STORED
用於檢索與以前添加的鍵值對相關的值。
set userId 0 0 5 12345 STORED get userId VALUE userId 0 5 12345 END get bob END
delete 命令用於刪除 memcached 中的任何現有值。
et userId 0 0 5 98765 STORED delete bob NOT_FOUND delete userId DELETED get userId END