分布式緩存中間件優缺點分析(redis、memcache、ehcache)
1. redis
優點:
1. 豐富的數據結構,支持字符串(strings)、散列(hashes)、列表(lists)、集合
(sets)、有序集合(sorted sets)
2. 主從同步,故障轉移 集群
3. 持久化
缺點:
1. 單核,單線程,所以在存儲海量數據的時候會極大的影響系統性能
2. memcache
優點:
1. 簡單的key-value存儲,memcache的key-value只支持String字符串類型的存儲。
2. 良好的內存使用率,因為它采用的是多核多線程的處理處理方式。
缺點:
1. 無法容災,數據無法做到持久化,當計算機節點發生某個故障宕機之后數據是不能進
行恢復的。
3. ehcache
優點:
1. 基於Java開發,更易於整合Java項目,有良好的健壯性同時還是被Apache所認可的。
2. 基於JVM緩存,若在JVM中使用ehcache緩存的話,它有良好的性能,更快的執行速度
使用起來就很簡單、方便、輕巧。像Mybatis、Hibernate這些開源框架都使用ehcache
缺點:
1. 集群、分布式模式下不支持緩存共享,若要實現集群的緩存的話會非常復雜,很不方便。
還會涉及到緩存的恢復等等這些問題。所以,ehcache還是更利於做單體應用的分布式
緩存。