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 | |
##Ehcache直接在jvm虛擬機器中緩存,速度快,效率高 | Redis是透過socket存取快取服務,效率比ecache低 | ##叢集和分散式 |
Redis有成熟的分散式解決方案。適合大規模分散式集群部署。 | 操作複雜度 | |
Ehcache | 提供的介面非常簡單明了,從Ehcache的搭建到運用運行僅需要的是你寶貴的幾分鐘。其實很多開發者都不知道自己用在用Ehcache,Ehcache被廣泛的運用於其他的開源專案。例如:Hibernate至少需要安裝服務端和客戶端才能使用。操作略比Ehcache複雜一些。 |
以上是ehcache和redis有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!