Memcached 學習筆記(一)

Memcached 學習筆記(一)

什麼是Memcached?

Memcashed項目由Dango Interactive公司開發,最初爲了加速LiveJournal訪問速度而開發,後來成爲廣泛應用的開源項目。它是基於內存工作的鍵-值存儲型的數據庫。操作簡單,但是能解決很多問題。在過去的幾年,廣泛用於互聯網網站中,作爲應用與數據庫交互的中間層,即緩存,將一些SQL的執行結果放在內存中,在指定的時間內,執行相同的查詢則直接從內存中讀取,大大提升了網站的訪問速度。根據存儲引擎來劃分,它應該是屬於內存數據庫。

爲什麼要用Memcached?

在互聯網時代,在這個信息爆炸的時代,速度即體驗,據統計,如果谷歌響應的速度延遲0.5秒,查詢數將減少20%,如果亞馬遜的響應延遲0.1秒,營業額下降1%.

Memcached有什麼特點?

  •  全內存運轉。它的數據從來不保存在硬盤,因此我們也稱之爲“臨時性數據庫”。如果將服務器關機,那麼就預示着內存中的數據丟失。
  • 哈希方式存儲。即通過“鍵-值”對保存到數據庫。
  • 簡單文本協議進行數據通信。跟其通訊的協議都比較簡單,易懂。用記簡單的命令就能對其進行操作。
  • 只操作字符型數據。在Memcached無論放入什麼類型的數據,如字符串、整形數據、數組等,它都一視同仁,將其作爲字節來處理,至於怎麼解析這些數據,由應用層來處理。
  •  其它類型數據由應用解釋,序列化以及反序列化。
  • 集羣也由應用進行控制,採用一致性散列(哈希)算法。不同語言,都提供了不同的函數庫及算法,來調度、訪問Memcached。
如何安裝Memcached?
在ReadHat 或者是CentOS下直接通過yum安裝即可。 
yum   install  memcached
如何啓動Memcached?
執行以下命名啓動memcached,默認端口爲11211.
/etc/rc.d/init.d/memcached  start

        如何測試使用Memcached?
用簡單的telnet即可進行測試:
[root@localhost home]# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
set name 0 0 10
zhangsan

STORED
get name
VALUE name 0 10
zhangsan

END
set age 0 0 2
22
STORED
get age
VALUE age 0 2
22
END

Memcached有哪些常用的命令?
  • set 命令:

set  <key>   <flag>   <expires>   <byte>

flag : 用於指定是否壓縮數據,0不壓縮,1壓縮。

expires : 指定數據保存時間,一種方法是秒數(不能超過30天),另一種方法可以使用UNIX時間戳指定,0爲有效期無限。

byte : 保存值的字節數。

  • get 命令,用於取出對應鍵的值:
get <key>  
  • incr 命令,爲指定的key的值加上一個值:
incr  <key>  <value>  
set counter 0 0 1
1
STORED
incr counter 1
2
incr counter 2
4
get counter
VALUE counter 0 1
4
END
  • delete 命令,刪除指定key的值:
delete <key>
delete counter
DELETED
get counter
END
  • append命令,在已存在的key值上新增值:
set test 0 0 4
test
STORED
append test 0 0 3
add
STORED
get test
VALUE test 0 7
testadd
END
  • flush_all命令,清空內存,刪除所有的值:
get counter
VALUE counter 0 1
0
END
get test
VALUE test 0 7
testadd
END
flush_all
OK
get counter
END
get test
END



發佈了47 篇原創文章 · 獲贊 124 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章