Ehcache與Memcache的區別
來自: http://blog.csdn.net//chenleixing/article/details/47035367
ehcache是純java編寫的,通信是通過RMI方式,適用于基于java技術的項目。
memcached服務器端是c編寫的,客戶端有多個語言的實現,如c,php(淘寶,sina等各大門戶網站),python(豆瓣網), java(Xmemcached,spymemcached)。memcached服務器端是使用文本或者二進制通信的。
項目 | Memcache | Ehcache |
分布式 | 不完全,集群默認不實現 | 支持 |
集群 | 可通過客戶端實現 | 支持(默認是異步同步) |
持久化 | 可通過第三方應用實現,如sina研發的memcachedb,將cache的數據保存到[url=]Berkerly DB[/url] | 支持。持久化到本地硬盤,生成一個.data和.index文件。cache初始化時會自動查找這兩個文件,將數據放入cache |
效率 | 高 | 高于Memcache |
容災 | 可通過客戶端實現。 | 支持 |
緩存數據方式 | 緩存在memcached server向系統申請的內存中 | 可以緩存在內存(JVM中),也可以緩存在硬盤。通過CacheManager管理cache。多個CacheManager可配置在一個JVM內,CacheManager可管理多個cache。 |
緩存過期移除策略 | LRU | LRU(默認),FIFO,LFU |
缺點 | 功能不完善,相對于Ehcache效率低 | 只適用于java體系,只能用java編寫客戶端 |
優點 | 簡潔,靈活,所有支持socket的語言都能編寫其客戶端 | 效率高。功能強大。 |
本文由用戶 江山風雨外 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!