程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php Memcached分布式緩存(1/3)

php Memcached分布式緩存(1/3)

編輯:關於PHP編程

一.   什麼是memcached

memcached 是一個高性能的分布式內存對象緩存系統,用於動態web應用以減輕數據庫教程負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。

相信很多人都用過緩存,在 .net 中也有內置的緩存機制,還有很多第三方工具如apache,nginx等可以做靜態資源的緩存,同時我們也可以制定自己的緩存機制,緩存數據庫查詢的數據以減少對數據庫的頻繁操作。但是很多時候我們總是感覺這些緩存總不盡人意, memcached可以解決你不少的煩惱問題。最少在我的學習中解決了我不少問題,所以決定記錄下來分享。

memcached基於一個存儲鍵/值對的hashmap。其守護進程是用c寫的,但是客戶端可以用任何語言來編寫(本文使用c#作為例子),並通過memcached協議與守護進程通信。可           能這些東西都太高深了,我們暫不做研究。  

 

二.   分布式緩存 

其實 memcached作為一個分布式緩存數據服務,但是每個服務之間根本沒有進行相互通信,這裡可能與我理解的分布式有點區別,可能是我才疏學淺,也可能是每個人思考問題的角度不同。memcached 客戶端就是通過一種分布式算法將數據保存到不同的memcached服務器上,將數據進行緩存。分布式緩存,可以而知memcached可以進行大數據量的緩存。這點可以彌補我們之前很多人都遇到的將數據緩存到應用服務器上,而且只能緩存少量數據,否則對應用服務器的影響非常大。
memcached應用機制圖: 

\ 

這個圖是有點簡陋了,但是問題還是能夠描述的清楚的,緩存機制的基本原理就是先查詢數據保存到memcached中,地址在此請求就直接從memcached緩存中取數據,這樣就可以減少對服務器請求壓力。

 

 

 1 2 3

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved