Redis和Memcached有什么区别?

sallay_12 2014-10-30 04:00:57
Redis和Memcached功能和性能有什么不一眼?应用的领域有什么不同?
...全文
362 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shikebing 2015-07-23
  • 打赏
  • 举报
回复
下面这个文章讲述了 ehcache,redis,memcached的各自特性和差别,值得看看 http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt268
howsun_zh 2014-10-31
  • 打赏
  • 举报
回复
用一个场景来评论两者的优越性: 某论坛有10个版块,每个版块平均一年有100万条记录,也就是说需要将1000万条记录缓存起来。用户进入某个版块,能瞬间将分页好的帖子呈现出来,单台(或很少人)服务器能不能搞定? Memcache对个场景非常棘手,因为key不好制定,版块名为key缓存100万条?显示不行。 看我用Redis解决,以版块为key没错,将100w条的ID按时间排序后,存入Redis的有序表中。假如要取n页20条,只需在Redis数组中以n*20索引位开始取20个ID出来,再通过ID在数据库里取20条完整记录就完成了。10个数组1000万条ID缓存,半台服务器就搞定。 Redis的灵活性远远超于上述场景。主要表现在: 1、更丰富的数据类型支持(哈希、有序列表、集合等等) 2、强大的命令。不是像Memcache那仅使用内存,而浪费掉了CPU资源。 3、持久性。Memcache是可以将缓存数据持久的,只是它开放了底层接口,开发者要用第三方数据库来支持。但是,Redis实现了乐观锁(支持事务)的基本数据库功能。 4、主从结构:Redis支持master-slave结构 5、集群:Memcache是不支持集群的,多台Memcache共处,实际上是通过客户端做Hash来实现的。Redis 3.0将实现官方意义的集群。 6、运维:Redis的第三方监控工具很多。当然功能越强大,运维工作量也是成正比。 要干活了,暂写这些。
Intboy 2014-10-30
  • 打赏
  • 举报
回复
可以简单的理解为,redis就是数据库,你有多个应用的话可以同时访问一个redis,memcache的话就是本机缓存,当然可以多节点同步。
  • 打赏
  • 举报
回复
Redis支持持久机制、这一点比较好;一旦忘记处理数据了,它会帮你持久起来,这样有些重要数据不会丢失。 Memcached就是一个纯粹的缓存服务器了,可用性你懂得。
software_gemeng 2014-10-30
  • 打赏
  • 举报
回复
Redis支持更多的数据结构~~~
tbwork 2014-10-30
  • 打赏
  • 举报
回复
memchache 不是本机缓存哦 本机一般用localcache memcache更为准确的叫法是 memcached 是Danga团队开发的一套分布式缓存。 Redis虽然也叫做内存数据库(nosql中的key-value类型),其用途也可认为是缓存系统。 就我在几家大公司的工作实践来看,redis的高可用性要比memcached高。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧