分散式快取能夠處理大量的動態數據,因此比較適合應用在Web 2.0時代中的社群網站等需要由使用者產生內容的場景。從本地快取擴展到分散式快取後,專注於重點從CPU、記憶體、快取之間的資料傳輸速度差異也擴展到了業務系統、資料庫、分散式快取之間的資料傳輸速度差異。
常用的分散式快取包括Redis和Memcached。
1、Memcached
Memcached是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。 Memcached透過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。
特點:雜湊方式儲存;全記憶體操作;簡單文字協定進行資料通訊;只操作字元型資料;叢集由應用程式進行控制,採用一致性雜湊演算法。
限制性:資料儲存在記憶體當中的,一旦機器重啟,資料就會全部遺失;只能操作字元型數據,資料型別貧乏;以root權限運行,而且Memcached本身沒有任何權限管理和認證功能,安全性不足;能儲存的資料長度有限,最大鍵長250個字符,儲存資料不能超過1M。
2、Redis
Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。
特點:
Redis支援的資料類型包括:字串、string、hash、set、sortedset、list;Redis實現持久化的方式:定期將記憶體快照寫入磁碟;寫日誌;Redis支援主從同步。
限制性:單核心運行,在儲存大數據的時候效能會有降低;不是全記憶體操作;主從複製是全量複製,對實際的系統運作造成了一定負擔。
以上是常用分散式快取有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!