我是學習memcached的初學者。 memcached服務器最讓我困惑。我可以將它看作是一臺像服務器一樣的單臺服務器計算機嗎?我也對memcached服務器和客戶端之間的關係感到困惑,他們是否位於不同的計算機上?什麼是memcached服務器
回答
我同意@phihag已經回答的大多數事情,但我必須澄清一些事情。
Memcached根據一個密鑰存儲數據(phihag稱它爲一個id,不要與數據庫id混淆)。數據可以具有各種大小,因此可以存儲小數據(例如從數據庫中提取1條記錄),或者可以存儲大量數據(如數百條記錄或完整的HTML頁面)。
Memcached的不是通常在同一臺計算機的應用程序服務器上使用,這樣做的原因是因爲它的目的是通過TCP使用(它會通過套接字訪問,如果它被設計在同一個工作服務器),它被設計成一個池服務器。
池化部分很有趣 - 你可以有10臺機器運行Memcached,每個機器分配最大10GB的ram用於此目的。 10 * 10 = 100GB的RAM空間。
當您向Memcached中寫入值時,只有一個(隨機或通過某些算法)的服務器存儲它。當您嘗試從Memcached中讀取值時,只有存儲該值的服務器會將其發送給您。
確實你可以把所有的數據庫/ memcached /應用程序/文件服務器放在同一臺機器上,通常你會爲你開發沙箱。但你也可以放在一個單獨的機器和兩者的任何其他組合。
如果您只需要一臺Memcached服務器,您可能會將它與託管在與應用程序代碼相同的機器上。
如果您開始使用前端緩存服務器(如清漆)或將NginX配置爲前端緩存服務器,則必須配置一些Memcached服務器以存儲這些前端緩存服務器正在緩存的數據。
如果您將數據庫分佈到多個服務器和文件服務器並存放到CDN中,這意味着您的應用程序在很短的時間內處理了大量數據,因此您需要大量無法使用的RAM空間可在一個單一的應用程序服務
而且,由於延伸的內存池的Memcached的服務器,只需添加新的服務器列表中的IP一樣容易,你會在多臺服務器水平擴展(這是Memcached的真正的典型應用)。
memcached服務器是一個程序,其管理該memcached的存儲數據(不要與一個機,其也可以被稱爲服務器混淆)。理論上,它可以在任何計算機上運行。但是,它通常運行在運行主應用程序的同一臺機器上。
然後,應用程序使用其memcached客戶端與memcached服務器進行通信並請求緩存的內容。這是不是從因爲
- 一個memcached服務器只是映射到的ID值的傳統數據庫中查詢數據的速度更快,並且永遠不需要掃描整個表
- memcached協議比較簡單。服務器不需要解析SQL等,客戶端也不需要製作它。
- 由於memcached不需要數據庫的可靠性(考慮備份,故障隔離,集羣,安全性等),它可以運行在運行應用程序的同一臺機器上。雖然您可以在運行應用程序的同一臺機器上運行數據庫,但出於上述原因,這樣做會令人不悅。
非常感謝!應用程序與其memcached客戶端通信,然後客戶端請求memcached服務器獲取數據。通常,應用程序,memcached客戶端和memcached服務器位於同一臺計算機上。不同的memcached客戶端可以根據協議與其他在不同機器上運行的memcached服務器通信。上述權利? –
是的,就是這樣。 – phihag
我可以將它們分成兩部分嗎?一個是包含應用程序,memcached客戶端和memcached服務器的Web服務器。另一個是數據庫服務器。 –
- 1. memcached的客戶端 - 服務器模型的好處是什麼?
- 2. 是什麼導致memcached錯誤10('服務器錯誤')?
- 3. Benchmarking Memcached服務器
- 4. 什麼是memcached的
- 5. 什麼是硒服務器?
- 6. 什麼是CLI服務器?
- 7. MySQL服務器上的Memcached?
- 8. 多服務器和Memcached
- 9. memcached在遠程服務器上速度明顯較慢的原因是什麼?
- 10. 將數據從一臺memcached服務器傳輸到另一臺memcached服務器
- 11. wamp服務器中的默認服務器名稱是什麼?
- 12. 什麼是服務器架構和服務器設置?
- 13. 什麼是服務器到服務器發佈腳本?
- 14. 許多應用服務器共享memcached服務器
- 15. 什麼是服務器名稱
- 16. 爲什麼StaticFileHandler不是服務器.json?
- 17. IBM Worklight - 什麼是worklight服務器?
- 18. 什麼是報告服務器?
- 19. 什麼是Laravel服務容器?
- 20. fatwire的應用服務器是什麼?
- 21. 什麼是從Tomcat服務器
- 22. 什麼是代理服務器
- 23. mysql服務器id是什麼樣的?
- 24. 什麼是「服務器應用程序」?
- 25. phpInfo:「虛擬服務器」是指什麼?
- 26. git服務器究竟是什麼?
- 27. 什麼是域名服務器?
- 28. java服務器端到底是什麼?
- 29. 什麼是Gmail MX服務器端口?
- 30. 什麼是資源聯合服務器?
令人驚歎的答案。這對我非常有幫助。謝謝你,還有@phihag。 –
@AllenJee您能否請您將答案標記爲已接受? –
Memcached服務器如何備份其數據? – trillions