【Redis】第3讲 Redis/Memcache/MongoDB对比

都是nosql数据库的著名代表

Redis和Memcache

【Redis】第3讲 Redis/Memcache/MongoDB对比_第1张图片

  • Redis和Memcache都是内存数据库。不过memcache还可用于缓存其它东西,如图片,视频等。
  • Memcache数据结构单一,Redis更丰富些,还提供list,set,hash等数据结构的存储,有效的减少网络IO的次数。
  • 虚拟内存-Redis当物理内存用完时,可以将一些很久没用到的value交换到磁盘。
  • 存储数据安全,Memcache挂掉后,数据没了(没有持久化机制);Redis可以定期保存到磁盘(持久化)
  • 灾难恢复-memcache挂掉后,数据不可恢复;Redis数据丢失后可以通过RBD或AOF恢复。

Redis和MongoDB

  • Redis和Mong并不是竞争关系,更多的是一种协作共存关系。
  • MongoDB本质上还是硬盘数据库,在复杂查询时仍然会有大量的资源消耗,而且在处理复杂逻辑时任然要不可避免地进行多次查询。
  • 这时就需要Redis或Memcache这样的内存数据库来作为中间层进行缓存和加速。
  • 比如在某些复杂页面的场景中,整个页面的内容如果都从MongoDB中查询,可能要几十个查询语句,耗时长。如果需求允许,则可以把整个页面的对象缓存至Redis中,定期更新,这样MongoDB和Redis就能很好的协作起来。

你可能感兴趣的:(#,Redis,redis,memcached,mongodb)