Memcached, Redis, MongoDB区别

Memcached, Redis, MongoDB区别

mongodb和memcached不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。mongodb和memcached不存在谁替换谁的问题。

和memcached更为接近的是redis。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。在我们团队的项目中,一开始用的是memcached,后来用redis替代。

相比memcached:

1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。

2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。

3、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。

4、redis原生支持的数据类型更多,使用的想象空间更大。

5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在负载非常高需要水平扩展时使用。我们还没有用到这方面的功能,一般的项目,单机足够支撑并发了。redis 3.0将推出cluster,功能更加强大。

6、redis更多优点,请移步官方网站查询。

7. 性能

Redis作者的说法是平均到单个核上的性能,在单条数据不大的情况下Redis更好。为什么这么说呢,理由就是Redis是单线程运行的。
因为是单线程运行,所以和Memcached的多线程相比,整体性能肯定会偏低。
因为是单线程运行,所以IO是串行化的,网络IO和内存IO,因此当单条数据太大时,由于需要等待一个命令的所有IO完成才能进行后续的命令,所以性能会受影响。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112527.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 仿QQ聊天程序(java)

    仿QQ聊天程序(java)java聊天程序推荐java聊天室项目:http://zyshare.cn/resource/detail/15推荐java相关毕业设计项目整理:https://blog.csdn.net/zwx19921215/article/details/103225211推荐java最新聊天项目(java仿微信聊天):https://blog.csdn.net/zwx19921215/art…

  • spring报错parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]「建议收藏」

    spring报错parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]「建议收藏」一、报错如下:org.springframework.beans.factory.BeanDefinitionStoreException:IOExceptionparsingXMLdocumentfromServletContextresource[/WEB-INF/applicationContext.xml];nestedexceptionisjava.io.F…

  • typora图床阿里云_织梦七牛云

    typora图床阿里云_织梦七牛云一、创建并上传文件到存储空间1.注册七牛账号,并且实名认证2.创建储存空间打开侧边栏,选择对象存储选择新建空间存储空间名称:按规则随便取存储区域:选择离靠近的地区访问控制:选择公开,否则

  • 麦克风阵列声源定位程序_麦克风阵列怎么设置

    麦克风阵列声源定位程序_麦克风阵列怎么设置麦克风阵列声源定位利用麦克风阵列可以实现声源到达方向估计(direction-of-arrival(DOA)estimation),DOA估计的其中一种方法是计算到达不同阵元间的时间差,这里主要介绍经典的GCC-PHAT方法背景简单说明问题背景,信号模型如下图,远场平面波,二元阵列要计算得到θθ\theta,其实就是要求两个阵元接收到的信号时间差,现在问题变成到达时…

  • DataGrip破解激活码_通用破解码

    DataGrip破解激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • pytest 执行用例_pytest怎么指定部分用例执行

    pytest 执行用例_pytest怎么指定部分用例执行前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号