首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

memcache,redis和ehcache作为分布式缓存框架的比较

以下是关于memcache、redis和ehcache这三种分布式缓存框架的比较:

1. 概念

  • memcache:是一个高性能、分布式内存对象缓存系统,用于缓存应用程序中的数据,从而减轻数据库负担。
  • redis:是一个开源的,基于键值对的数据结构存储系统,支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。
  • ehcache:是一个开源的,基于Java的分布式缓存解决方案,支持内存和磁盘存储,提供了一套简单易用的API。

2. 分类

  • memcache:属于纯内存缓存系统,不支持数据持久化。
  • redis:支持内存和磁盘存储,可以进行数据持久化。
  • ehcache:支持内存和磁盘存储,提供了一定程度的数据持久化。

3. 优势

  • memcache:性能高,易于扩展,支持多种编程语言,简单易用。
  • redis:功能丰富,支持多种数据结构,支持数据持久化,支持事务和发布订阅模式。
  • ehcache:易于使用,支持内存和磁盘存储,支持数据持久化,支持Java和.NET平台。

4. 应用场景

  • memcache:适用于缓存一些热点数据,如用户信息、商品信息、新闻内容等。
  • redis:适用于需要高性能、高并发、多样化数据存储的场景,如实时分析、消息队列、排行榜等。
  • ehcache:适用于需要在内存和磁盘之间进行数据存储的场景,如临时缓存、会话缓存、数据同步等。

5. 推荐的腾讯云相关产品和产品介绍链接地址

  • memcache:推荐使用腾讯云的内存缓存产品。
  • redis:推荐使用腾讯云的Redis产品。
  • ehcache:推荐使用腾讯云的内存缓存产品。

以上就是关于memcache、redis和ehcache这三种分布式缓存框架的比较。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JAVA中使用最广泛本地缓存Ehcache自信从何而来3 —— 本地缓存变身分布式集群缓存,打破本地缓存天花板

作为JAVA本地缓存框架综合实力天花板级别的Ehcache,除了在本地缓存方面具有强悍实力外,还具有一个其它对手所不具备特色功能,即Ehcache提供了对于集群能力支持,这也使得Ehcache不仅仅是个本地单机缓存...可以说这种模式下,既保留了Ehcache本地缓存超高处理性能,又享受到了分布式缓存带来集群优势,不失为一种比较亮眼组合。...其实分析下来也很好理解: 如果真的需要很明确诉求去解决分布式场景下缓存一致性问题,直接选择redismemcache等主流集中式缓存组件即可 所以Ehcache整体综合功能虽然是最强大,整体定位偏向于大而全...那么你对Ehcache是否还有什么自己观点呢?欢迎评论区一起交流下,期待各位小伙伴们一起切磋、共同成长。 随着本篇Ehcache介绍文章结束,我们缓存专栏关于主流本地缓存框架介绍就告一段落了。...下一篇文章开始,我们将开始将目光聚焦到集中式缓存身上,比如大家耳熟能详Redis,以及经常在面试中会拿来与Redis比较Memcache等等。如有兴趣,欢迎关注。

1.6K70
  • 本地缓存分布式缓存比较 堆污染

    本地缓存分布式缓存比较分布式缓存一致性更好一点,本地缓存 每个实例都有自己缓存,可能会存在不一致情况。 本地缓存会占用堆内存,影响垃圾回收、影响系统性能。...分布式缓存两大开销会导致其慢于本地缓存,网络延迟对象序列化 进程内缓存适用于较小且频率可见访问场景,尤其适用于不变对象,对于较大且不可预见访问,最好采用分布式缓存。...可能会导致ClassCastException 发生。 形变(Variance): java中包含三种类型XX-Variance: 1. 协变(covariance) 2....不变(invariance) 这三种都是用来描述类型转换后继承关系,其定义:如果A、B表示类型,f(.)表示类型转换,<表示继承关系,A<B表示A是由B派生出来子类。

    1.2K30

    撸完Spring源码,我开源了这个分布式缓存框架!!

    框架结构描述 封装了对于缓存操作,支持Memcached、RedisEhcache分布式缓存数据库,同时支持Spring注解,通过Spring注解可实现设置缓存失效时间主动刷新缓存。...(单位为秒), 即@Cacheablevalue属性配置格式为:缓存名称#expireTime#reloadTime,框架规定必须以#作为分隔符 expireTime:表示缓存有效时长,单位秒; reloadTime...; 当在将数据存入缓存时,经过了超过expireTime秒时间,则缓存失效,再次调用方法,则执行原方法查询数据,框架会自动将查询结果存入缓存; 当框架通过代理反射方式主动调用原方法从真正数据源获取数据后刷新缓存时...,为防止请求多个线程同时执行刷新缓存操作,框架提供了分布式锁来保证只有一个线程执行刷新缓存操作; 框架主动调用原方法从真正数据源获取数据后刷新缓存操作与用户请求操作是异步,不会影响用户请求性能...集群配置缓存 框架此模块暂时不做实现,由于Spring与Ehcache整合过于简单,可自行实现Spring与Ehcache整合,这个不提供封装了。

    68930

    0x01缓存基本概念一览

    tags: redis,ehcahe,jcache,memcache 缓存机制引入可以提高系统访问效率。...对于单机推荐使用 ehcahe 对于分布式 推荐使用 redis   MemCached; SpringBoot支持很多种缓存方式:redis、guava、ehcahe、jcache等等。...Redis && memcache 缓存中间件:属于独立运行程序 可以单机部署,也可以分布式部署; ehcache: 是程序一个功能模块。 缓存访问速度快,但不太适合分布式部署。...参考链接 ehcachememcacheredis三大缓存比较 MemCached vs Redis 对象缓存比较 总结:如何使用redis缓存加索引处理数据库百万级并发 学习笔记:cache ...spring cache 技术---本地缓存-分布式缓存缓存穿透,雪崩,热点key问题

    59340

    Java本地缓存技术选型(Guava Cache、Caffeine、EhCache

    分布式缓存对应是本地缓存缓存进程应用进程是同一个,数据读写都在一个进程内完成,这种方式优点是没有网络开销,访问速度很快。缺点是受JVM内存限制,不适合存放大数据。...因此,EhCache是一款被广泛使用基于Java高速缓存框架,使用起来也非常方便。...EhCache提供了多种缓存策略,主要分为内存磁盘两级,是一款面向通用缓存、Java EE轻量级容器缓存框架。...从功能性角度,Guava CacheCaffeine功能类似,都是只支持堆内缓存,Encache相比功能更为丰富从性能上进行比较,Caffeine最优、GuavaCache次之,EhCache最差(下图是三者性能对比结果...真实业务工程中,建议使用Caffeine作为本地缓存,另外使用Redis或者memcache作为分布式缓存,构造多级缓存体系,保证性能可靠性。

    1.5K11

    什么是Redis?分布式缓存Redis服务安装与命令解析

    今天为大家分享一个系列教程Redis高级应用实战分布式缓存,今天文章内容概要:1、那么分布式缓存为什么要用Redis,什么是redis,2、为什么要用缓存机制,3、而Redis作为单线程模型为什么效率还这么高...什么是Redis NoSQL 分布式缓存中间件 key-value存储 提供海量数据存储访问 所有数据放在内存中,读取速度非常快 非关系型,分布式、开源,支持水平扩展 2....80%SQL抽离到缓存中; Redis VS Memcache VS Ehcache Ehcache 不支持集群,单点 不支持分布式,存储容量不支持扩展 基于Java开发,被apache认证 基于JVM...缓存 简单、轻巧、方便(广泛应用于hibernate,Mybatis) 优点 缺点 Memcache 无法容灾 无法持久化 简单key-value存储 内存使用率比较高 支持多核多线程 优点 缺点...1、纯内存访问:数据存放在内存中,内存响应时间是100纳秒 2、非阻塞式I/O操作:Redis采用epoll作为I/O多路复用技术实现 3、采用单线程避免了不必要上下文切换竞争条件 什么是多路复用

    56110

    分布式缓存Redis高级应用实战之为什么要用缓存机制

    什么是Redis ---- NoSQL 分布式缓存中间件 key-value存储 提供海量数据存储访问 所有数据放在内存中,读取速度非常快 非关系型,分布式、开源,支持水平扩展 2....为什么使用内存缓存数据库 分布式缓存中间件选型 因为在我们基础架构,我们数据库一般都是第一节点(主从、MMM、MHA) 一遍导致数据库缓慢或宕机都是查询导致,update、delete,80%...SQL都是查询,如果能够将这80%SQL抽离到缓存中; Redis VS Memcache VS Ehcache Ehcache 不支持集群,单点 不支持分布式,存储容量不支持扩展 基于Java开发,...被apache认证 基于JVM缓存 简单、轻巧、方便(广泛应用于hibernate,Mybatis) 优点 缺点 Memcache 无法容灾 无法持久化 简单key-value存储 内存使用率比较高...Redis作为单线程模型为什么效率还这么高 1、纯内存访问:数据存放在内存中,内存响应时间是100纳秒 2、非阻塞式I/O操作:Redis采用epoll作为I/O多路复用技术实现 3、采用单线程避免了不必要上下文切换竞争条件

    52620

    理解分布式系统中缓存架构(上)

    它是使用最广泛基于Java缓存,因为它功能强大,经过验证,功能齐全,并与其他流行框架集成。Ehcache可以从进程内缓存扩展到使用TB级缓存混合进程内/进程外部署 应用场景 ?...Ehcache过期数据淘汰机制 懒淘汰机制:每次往缓存放入数据时候,都会存一个时间,在读取时候要和设置时间做TTL比较来判断是否过期 Guava Cache 基本介绍 Guava Cache是Google...下面介绍分布式缓存常见2大开源实现MemcachedRedis Memcached 基本介绍 Memcached是一个高性能,分布式内存对象缓存系统,通过在内存里维护一个统一巨大hash表,它能够用来存储各种格式数据...数据淘汰内部实现 懒淘汰机制:每次往缓存放入数据时候,都会存一个时间,在读取 时候要和设置时间做TTL比较来判断是否过期 分布式集群实现 服务端并没有 “ 分布式 ” 功能。...Memcached支持多线程,CPU利用方面Memcache优于Redis 过期策略 有专门线程,清除缓存数据 懒淘汰机制:每次往缓存放入数据时候,都会存一个时间,在读取时候要和设置时间做TTL

    1.2K40

    三年java经验面试总结,整理了一些java面试题供参考

    答:两者都是轻量级ORM框架,hibernate实现功能比较多,通过HQL操作数据库,比较简单方便,但hibernate自动生成sql相长,不利测试查找原因。...缓存框架有使用过哪些?memcacheredis有什么区别?项目中,怎么去选择?...答:缓存有:ehcache,memcacheredis等 区别: 1、 RedisMemcache都是将数据存放在内存中,都是内存数据库。...不过 memcache还可用于缓存其他东西,例如图片、视频等等。 2、Redis不仅仅支持简单k/v类型数据,同时还提供list,set,hash等数据结构 存储。...Redis可以通 过例如expire 设定,例如expire name 10 5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。

    11.7K00

    Spring Cache For Redis.

    效率比ehcache低,比数据库要快很多,处理集群分布式缓存方便,有成熟方案。如果是大型系统,存在缓存共享、分布式部署、缓存内容很大,建议用redis。...memcache在客户端中实现分布式缓存,通过分布式算法指定目标数据节点。...ehcache    纯java实现,缓存在内存中,可持久化到硬盘,效率高于memcache;但是缓存共享麻烦,集群分布式应用不方便。如果是单个应用或者对缓存访问要求很高应用,用ehcache。...框架,Spring Data又提供了两个缓存管理器: RedisCacheManager GemfireCacheManager 3、为方法添加注解以支持缓存 Spring 提供四个注解来声明缓存规则...这是正常,因为使用是 java 序列化,如果想要看起来比较舒服,可以用 StringRedisSerializer 序列成字符串样子。

    97740

    访问数据库使用redis作为mysql缓存redismysql结合)

    下面我也补充一些知识点: redis: 内存型数据库,有持久化功能,具备分布式特性,可靠性高,适用于对读写效率要求都很高,数据处理业务复杂对安全性要求较高系统(如新浪微博计数微博发布部分系统,对数据安全性...缓存机制说明: 所有的查询结果都放进了缓存,也就是把MySQL查询结果放到了redis中去, 然后第二次发起该条查询时就可以从redis中去读取查询结果,从而不与MySQL交互,从而达到优化效果,...--导入MyBatisredis信息配置--> 5.缓存主要在service层进行,查询结果会缓存,把对象序列号存到redis中去,key就是注解中参数,例如@Cacheable...缓存了这个结果之后再次请求这个方法就不会去数据库中查,而是从redis缓存中读取数据,这样就减少了跟数据库之间交互。然后修改、删除、增加操作就会清除缓存,保持数据一致性。

    4.1K20

    Redis十二】Redis典型应用(缓存分布式锁)

    Redis是目前后端开发中非常热门组件之一,本篇文章主要介绍它在作为缓存以及分布式领域作用。 Redis作为缓存 1.什么是缓存缓存 (cache) 是计算机中⼀个经典概念....为了给MySQL减少压力,提高程序效率稳定性,业内通常使用Redis作为MySQL缓存,这样就能大大减少MySQL压力,提高程序性能稳定性。...使⽤ Redis 作为 MySQL 缓存时候, 当 Redis 刚刚启动, 或者 Redis ⼤批 key 失效之后, 此时由于Redis ⾃⾝相当于是空着, 没啥缓存数据, 那么 MySQL 就可能直接被访问到...随着程序运⾏推移, 缓存热点数据会逐渐⾃动调整, 来更适应当前情况。 缓存穿透 什么是缓存穿透? 访问 key 在 Redis 数据库中都不存在....例如访问数据库时候使⽤分布式锁, 限制同时请求数据库并发数. Redis作为分布式锁 1.什么是分布式锁? 在⼀个分布式系统中, 也会涉及到多个节点访问同⼀个公共资源情况.

    11710

    技术那么多,说出你常用那些【持续更新】

    欢迎留言,说出你常用技术 技术选型 ---- 网关:Nginx、Kong、Zuul 缓存Redis、MemCached、OsCache、EhCache 搜索:ElasticSearch、Solr...---- 数据库:MySql、Redis、MongoDB、PostgreSQL、Memcache、HBase 网络:专用网络VPC、弹性公网IP、CDN 数据库中间件:DRDS (阿里云)、Mycat...、360 Atlas、Cobar (不维护了) 分布式框架:Dubbo、Motan、Spring-Could ---- 架构必备 ---- 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级...(自动优雅降级) 失效转移 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时) 回滚机制(上线回滚、数据库版本回滚、事务回滚) ---- 高并发 应用缓存 HTTP缓存 多级缓存...分布式缓存 连接池 异步并发 ---- 分布式事务 二阶段提交(强一致) 三阶段提交(强一致) 消息中间件(最终一致性),推荐阿里RocketMQ ---- 队列 任务队列 消息队列 请求队列 --

    50510

    2018年4月份阿里最新java程序员面试题目

    我们主要考核是网络nio分布式数据库高并发大数据 自定义表格实现? 动态表单设计? in-jvm(必考)以及jmm缓存模型如何调优?...后端方面:redis?分布式框架dubbo(阿里巴巴开源框架)?设计模式? 场景式问题:秒杀,能列出常见排队、验证码、库存扣减方式对系统高并发影响?...能根据实际需要构建缓存结构提高提高网站访问速度,熟练使用ehcache、oscache,了解memcache。...熟悉分布式数据库设计优化技术,熟练使用mysql、oracle、SqlServer等主流数据库,熟悉hadoop hbase mangodb redis ehcache、oscache memcache...可靠性可用性如何理解~ jspsever lap对比 数据库到界面,字符集转化 基栈 jvm优化cup高时候如果分析监控 java curb突出细节问题 分布式缓存文档如何分流 迁移数据库垂直分割

    99540

    记一次JavaWeb网站技术架构总结

    题记 工作也有几多年了,无论是身边遇到还是耳间闻到,多多少少也积攒了自己一些经验思考,当然,博主并没有太多接触高大上分布式架构实践,相对比较零碎,随时补充(附带架构装逼词汇)。...、Session信息放入缓存时要有合理策略写入 目前生产中使用到 基于tomcat配置实现MemCache缓存管理session实现(麻烦) 基于OsCacheshiro组播方式实现(...如果是对高可用要求比较高,但是又没有相应技术保障,建议使用阿里云RDS或者Redis相关数据库,省事省力又省钱。...常见缓存服务有,Ehcache、OsCache、MemCacheRedis,当然这些都是主流经得起考验缓存技术实现,特别是Redis已大规模运用于分布式集群服务中,并证明了自己优越性能。...、Redis 缓存 Redis、Oscache、MemcacheEhcache 集成部署 Docker、Jenkins、Git、Maven 存储 OSS、NFS、FastDFS

    44820

    Ehcache优缺点以及分布式详解

    ehcahe介绍 EhCache 是一个纯Java进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。...Ehcache是一种广泛使用开源Java分布式缓存。主要面向通用缓存,Java EE轻量级容器。...ehcahe优点 快速 简单 缓存数据有两级:内存磁盘,因此无需担心容量问题 缓存数据会在虚拟机重启过程中写入磁盘 可以通过RMI、可插入API等方式进行分布式缓存 具有缓存缓存管理器侦听接口...> ehcahe分布式集群 EhCache分布式缓存有传统RMI,1.5版JGroups,1.6版JMS。...更何况在一些云计算环境,集群分布往往是跨网段,甚至是跨地域.这时更难以依赖这种初级组播同步. 总之,分布式集群架构,建议使用Redis或者Memcache缓存实现。

    3.9K61

    记一次JavaWeb网站技术架构总结

    题记 工作也有几多年了,无论是身边遇到还是耳间闻到,多多少少也积攒了自己一些经验思考,当然,博主并没有太多接触高大上分布式架构实践,相对比较零碎,随时补充(附带架构装逼词汇)。...、Session信息放入缓存时要有合理策略写入 目前生产中使用到 基于tomcat配置实现MemCache缓存管理session实现(麻烦) 基于OsCacheshiro组播方式实现(...如果是对高可用要求比较高,但是又没有相应技术保障,建议使用阿里云RDS或者Redis相关数据库,省事省力又省钱。...常见缓存服务有,Ehcache、OsCache、MemCacheRedis,当然这些都是主流经得起考验缓存技术实现,特别是Redis已大规模运用于分布式集群服务中,并证明了自己优越性能。...、Redis 缓存 Redis、Oscache、MemcacheEhcache 集成部署 Docker、Jenkins、Git、Maven 存储 OSS、NFS、FastDFS

    1K110

    架构师必备词汇知识点

    、ZeroMQ、Redis、ActiveMQ、Kafka 06 注册中心 Zookeeper、Redis 07 缓存 Redis、Oscache、MemcacheEhcache 08 集成部署 Docker...06、分布式专题-消息中间件 activeMq-jms规范及使用 activeMq消息分发机制分析 kafka实现原理剖析 kafka数据传输事务性及实践练习 07、分布式缓存分析对比 memcache...原理分析及使用 memcacheredis横向对比分析 分布式接口技术 webservice/RMI/restful使用 09、高并发专题-数据库层面优化 分库分表原理及规则讲解 数据库主备及高可用...Netty产生背景及优缺点分析 Netty实现IM聊天系统 21、分布式缓存技术-Redis redis安装及数据类型分析 Redis客户端使用 Redis高可用方案实战 Redis+Lua脚本实现原子操作...-kafka kafka高可用集群及介绍 kafka底层实现原理分析 31、分布式缓存-redis redis数据类型分析 redis高可用集群方案 lua脚本在redis应用 32、高性能之道-

    1.7K80
    领券