zoukankan      html  css  js  c++  java
  • Ehcache和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

    [url=]LRU([/url]默认),FIFO,LFU

    缺点

    功能不完善,相对于Ehcache效率低

    只适用于java体系,只能用java编写客户端

    优点

    简洁,灵活,所有支持socket的语言都能编写其客户端

    效率高。功能强大。


    最近研究了一下缓存技术,主要比较了一下memcached和ehcache。
    ehcache是纯java编写的,通信是通过RMI方式,适用于基于java技术的项目。
    memcached服务器端是c编写的,客户端有多个语言的实现,如c,php(淘宝,sina等各大门户网站),python(豆瓣 网),java(Xmemcached,spymemcached)。memcached服务器端是使用文本或者二进制通信的。memcached的 python客户端没有开源,其他语言的好像都开源了。另外我以前不明白为什么各大互联网公司都是使用memcached缓存,后来我明白了原因:因为各 大门户网站以及淘宝是使用php编写的网站,memcached有php客户端,而ehcache是纯java的,囧。
  • 相关阅读:
    Office Access 2007 的连接方法变了
    程序员的灯下黑:坚持和良好心态近乎道
    Unity浅析
    WPF设置样式的几种方式
    关于常用 软件授权 Licence说明
    WCF消息队列
    委托利用GetInvocationList处理链式委托
    WCF chatroom源码解析
    写一个Jquery字体插件
    浅谈AsyncState与AsyncDelegate使用的异同
  • 原文地址:https://www.cnblogs.com/zhishan/p/3274299.html
Copyright © 2011-2022 走看看