Memcache 客戶端

1.美圖

在這裏插入圖片描述

2.客戶端

Memcached Client ⽬目前有 3 種

  1. Memcached Client for Java(已經停⽌止更更新)
  2. SpyMemcached(已經停⽌止更更新)
  3. XMemcached(主流使⽤用)

Memcached Client for Java ⽐比 SpyMemcached 更穩定、更早、更廣泛; SpyMemcached ⽐比 Memcached,Client for Java 更高效; XMemcached ⽐ SpyMemcache 併發效果更好。

曾經有一段時間 SpyMemcached 使⽤比較廣泛,我簡單介紹一下

3.Spymemcached 介紹

Spymemcached 是一個採用 Java 開發的異步、單線程的 Memcached 客戶端,使⽤ NIO 實現。

Spymemcached 是 Memcached 的⼀個流⾏的 Java Client 庫,性能表現出⾊,⼴泛應⽤用於 Java + Memcached 項⽬目中。

Spymemcached 最早由 Dustin Sallings 開發, Dustin 後來和別人⼀起創辦了 Couchbase(原NorthScale),職位爲⾸席架構師, 2014 年加入 Google。

4.XMemcached 簡介

現在使⽤用最廣泛的 Memcache Java 客戶端是 XMemcached,它是一個新的 Java Memcache Client。

Memcached 通過它的⾃定義協議與客戶端交互,⽽ XMemcached 就是它的⼀個 Java 客戶端實現。相⽐比其他客戶端, XMemcached 有什麼優點呢?

5.XMemcached 的主要特性

XMemcached ⽀持設置連接池、宕機報警、使⽤用⼆進制⽂件、⼀致性哈希算法、進⾏數據壓縮等操作,總結

如下

  1. 高性能,由 Nio ⽀支持;
  2. 協議完整, Xmemcached ⽀支持所有的 Memcached 協議,包括 1.4.0 正式開始使⽤用的⼆進制協議;
  3. 支持客戶端分佈,提供了⼀致性哈希(Consistent Hash)算法的實現;
  4. 允許設置節點權重, XMemcached 允許通過設置節點的權重來調節 Memcached 的負載,設置的權重越⾼,該 Memcached 節點存儲的數據將越多,所承受的負載越⼤大;
  5. 動態增刪節點, Memcached 允許通過 JMX 或者代碼編程實現節點的動態添加或者移除,⽅便⽤戶擴展和替換節點等;
  6. XMemcached 通過 JMX 暴暴露露的一些接⼝,支持 Client 本身的監控和調整,允許動態設置調優參數、查看統計數據、動態增刪節點等;
  7. 支持客戶端連接池,對同⼀個 Memcached 可以創建 N 個連接組成連接池來提⾼客戶端在⾼併發環境下的表現,⽽而這⼀一切對使⽤用者來說卻是透明的;
  8. 可擴展性, XMemcached 是基於 Java Nio 框架 Yanf4j 實現的,因此在實現上結構相對清楚,分層⽐比較明晰.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章