1、Memcached是一個高性能的分佈式的內存對象緩存系統,目前全世界很多人使用這個緩存項目來構建本身大負載的網
站,來分擔數據庫的壓力,經過在內存裏維護一個統一的巨大的hash表,它可以用來存儲各類格式的數據,包括圖像、
視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,而後從內存中讀取,從而大大提升讀取速度
2、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的數據默認是壓縮存儲的.php