Memcached是一個高性能的分布式記憶體對象緩存系統,用于動态Web應用以減輕資料庫負載。通過在記憶體中緩存資料和對象來減少讀取資料庫的次數,進而提高運作速度。
存儲
Memcached中儲存的資料都存儲在Memcached内置的記憶體存儲空間中。資料僅存在于記憶體中,重新開機memcached或者重新開機作業系統都會導緻全部資料消失。
memcached的記憶體存儲空間是有一定限制的,當内容容量達到指定值之後,就會根據LUR算法自動删除不适用的緩存。memcached是為緩存而設計的伺服器,是以并沒有過多考慮資料的永久性問題。
使用
打開指令視窗,輸入telnet 127.0.0.1 11211 指令連接配接上memcache,然後直接輸入stats得到目前memcache的狀态,根據得出的memcached中資料的狀态進一步操作。
多讀少寫
畢竟是緩存的資料,是以對于Memcached來說,它并不适合寫的操作,舉個簡單的例子:
高校的選課系統再形象不過了,如果在學生選課的過程中,把課程資料從資料庫中讀出來放在Memcached内置的記憶體存儲空間中,因為課程資訊是需要不斷更新的,想必大家都體會過選課的艱辛,如果讀取出來的始終是Memcached中的資料,那學生所選課程必定會混淆,送出資料更會頻繁失敗甚至出錯。
使用Mamcached的目的是通過緩存資料庫查詢結果,減少資料庫的通路次數,以提高效率,但像上述這種情況,需要實時更新資料庫資料,那就絕不适合使用Memcached來緩存資料,就算要用,也要慎重考慮它的用途。
優點
1.支援分布式擴充; 2.分布式使用簡單,可以再用戶端直接設定多個memcached伺服器。
缺點
1.memcached資料是儲存在内容當中的,一旦服務程序重新開機,資料會全部丢失。
查詢對策:可以采取更改memcached的源代碼,增加定期寫入硬碟的功能。
2.memcached以root權限運作,而且memcached本身沒有任何權限管理和認證功能,安全性不足。
查詢對策:可以将memcached服務綁定在内網IP上,通過防火牆進行防護。
以上兩種對策都是通過查詢得知的,但并沒有經過具體的實踐,同伴們嘗試之後可以告知小編哦!
補充
Memcached的記憶體配置設定以page為機關,預設情況下一個page是1M。
Memcached的學習内容暫時是這些,後期學習中再不斷補充。