memcache的學習小結

一、Memcached是一個高性能的分佈式的內存對象緩存系統,目前全世界不少人使用這個緩存項目來構建自己大負載的網
站,來分擔數據庫的壓力,通過在內存裏維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、
視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度

二、Memcached的使用
1.安裝,在cmd控制檯中,轉換到memcached的安裝目錄下,運行如下的命令 memcached.exe -d install
2.開啓memcached的服務①在電腦的服務裏手動的開啓②運用命令開啓 memcached.exe -d start 或者 memcached.exe -p start
注:後一種的命令的開啓的方式會佔用控制檯,當控制檯關閉的時候,memcached的服務也會關閉
memcached的監聽的端口是11211
3.怎樣來操作memcached的curd操作了
①通過php程序來操作(最常用的)
配置
將php_memcache.dll拷貝到php安裝目錄中的ext目錄中
在php.ini中加載php_memcache.dll
extension=php_memcache.dll
重啓apache
這樣配置過後就可以使用了
$mem=new Memcacahe;
//基本的方法   
add();添加一個數據
set();設置一個數據,有就修改,沒有就添加
delete();刪除一個數據
replace();修改一個數據,必須是存在的數據,這是和set放發的區別。

get();取得一個數據
注:在取對象的時候,當存數據的文件和取數據的文件不一樣的時候,回報一個錯誤,大致意思是數據不完整的錯誤,
要避免這個錯誤,就的包整個類給拷貝到去數據的文件中。
(注:模塊的版本一定要於php的版本相一致,不然apache重啓不了)
②通過telnet工具連接memcached服務來操作
telnet 127.0.0.1 11211
③通過memcache—client源碼來操作
到網上下載源碼來操作memcache,擴展性比較好,只是速度沒有操作php_memcache.dll的速度快

4.memcache可以存儲的數據類型。
memcache中可以存儲出了資源類型以外的其他的任何類型的數據類型
5.memcache中存儲session數據
配置
在php的配置中,默認的session的數據是一文件(file)的形式存儲的,這了可以設置爲以memcache的形式來存儲,配置
如下:
session.save_handle=memcache
session.save_path="tcp://127.0.01:11211"
如果服務器是遠程的話,可以通過ini_set()函數來設置,這個設置只是對本文腳本起作用

注:存儲到memcache中的session是不和用戶綁定的,就是說只要知道key,任何人都可以取出來,而session是和用戶綁定的

6.memcache的安全
memcache是獨立的一個服務,當memcache放在一個公網的時候,任何人都可以進來訪問,這樣會造成數據的極度不安全,所以
我們要將memcache服務器放在一個內網裏面,加上防火牆,只允許自己主機訪問.

7.多臺memcache服務器的使用
當我們有多臺服務器的時候,可以使用addServer()連接池的方式來添加多個memcache服務,我們的數據存到了那個服務
器上,和我們怎樣正確的取出數據,器內部已有一套算法,不必我們操心.memcache默認的存儲的大小是64M,當數據滿了
的時候,memcache會根據自己內部的算法,來自動的刪除一些數據.各個服務器間的數據是不會同步的.

memcache的單個數據的限制的大小是1M.
memcache的數據默認是壓縮存儲的.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章