【快取框架】ehcache和redis有什麼區別

2020-08-13 13:27:08

Ehcache 和 Redis的區別有:前者操作簡單易使用,存取速度快,效率更高但是不適合大型的分佈式叢集部署。而後者更適合用於大數據快取,數據恢復等。


 Ehcache介紹

EhCache 是一個純Java的進程內快取框架,具有快速、精幹等特點。是一種廣泛使用的開源Java分佈式快取。主要面向通用快取,Java EE和輕量級容器。另外Spring 提供了對快取功能的抽象:即允許系結不同的快取解決方案(如Ehcache),但本身不直接提供快取功能的實現。它支援註解方式使用快取,非常方便。

Ehcache的特點

(1)快速簡單,具有多種快取策略

(2)快取數據有兩級爲記憶體和磁碟,快取數據會在虛擬機器重新啓動的過程中寫入磁碟

(3)可以通過RMI、可插入API等方式進行分佈式快取

(4)具有快取和快取管理器的偵聽介面

(5)支援多快取管理器範例,以及一個範例的多個快取區域。並提供Hibernate的快取實現



Redis介紹

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。Redis是一個key-value儲存系統。它支援儲存的value型別很多,包括string(字串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(雜湊型別)。這些數據型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。Redis數據都是快取在記憶體中。Redis會週期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。

Redis的特點:

(1)速度快,持久化。並且Redis的所有數據都儲存在記憶體中。

(2)支援多種數據結構例:String、List、Set、Hash、Zset

(3)支援多種程式語言例:Java、php、Python、Ruby、Lua、Node.js

(4)功能豐富 ,除了支援五種數據結構之外,還支援事務、流水線、發佈/訂閱、訊息佇列等功能。

(5)主伺服器(master)執行新增、修改、刪除,從伺服器執行查詢。

Ehcache 和 Redis 比較


 以上就是ehcache和redis有什麼區別的詳細內容。