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完成才能进行后续的命令,所以性能会受影响。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue 解决跨域问题(开发环境)[通俗易懂]

    vue 解决跨域问题(开发环境)[通俗易懂]一、什么是跨域问题同源:域名,协议,端口均相同不同源就是跨域,比如你的前端为localhost:9528,后端为localhost:8080,此时前端去访问后端接口就会产生跨域问题,因为端口不同。这里不详细讲,可参考百度百科-同源策略。二、如何解决跨域问题前后端都可以解决,这里仅提供vue的前端跨域解决方案:前端vue.config.js配置如下,然后保证在你访问后端接口时加个前缀/api。devServer:{port:port,open:false,ov

    2022年9月17日
    0
  • labelme图像标注_ai标注工具

    labelme图像标注_ai标注工具参考:https://blog.csdn.net/u011574296/article/details/79740633在做目标检测任务时,需要用到labelImg进行画框标注,在之前的文章中已经介绍过该工具的使用方法。然而如果是做语义分割的任务时,就不能只是标注框里,需要用另外一种工具labelme进行标注,本文对该工具的安装使用方法进行介绍。官方教程:https://github.co…

    2022年9月12日
    0
  • 出口押汇贷款_出口贸易融资业务

    出口押汇贷款_出口贸易融资业务出口商贸易融资工具:出口单据质押贷款出口单据质押贷款:是指进口商与出口商约定以汇款结算方式签订贸易合同,出口商在将货物装运上船,报关之后,将全套正本海运提单质押银行申请贷款,等到进口商付款之后,再将全套正本海运提单寄给进口商。特色:(1)无须其他担保,货物无权质押给银行即可实现资金周转,加速资金流通,给出口商经营带来便利,同时可以规避汇率风险。(2)融资方式简单,方

    2022年9月21日
    0
  • iis无法启动万维网发布服务W3SVC「建议收藏」

    iis无法启动万维网发布服务W3SVC「建议收藏」启动iis时提示无法启动万维网发布服务W3SVC,方法:Win+R,输入service.msc,找到WindowsProcessActivationService服务,将该服务启动;再找到WorldWideWebPublishingService服务,将该服务改为启动,如果提示“错误1068:依赖服务或组无法启动”,就尝试这两种方法:1、打开控制面板,程序,程序和功能,启用或关闭windows功能,找到windowsprocessactivationservice,全部勾选,重启电

    2025年6月5日
    0
  • SQLServer2008安装教程[通俗易懂]

    SQLServer2008安装教程[通俗易懂]因为对接老系统的数据,上面使用的SQLServer2008,所以本机也需要SQLServer2008作对接。首当其冲的就是SQLServer2008的安装。1.下载sqlServer2008的安装包2.在安装包中点击setup.exe2.选择安装,再选择全新安装3.安装规则检测,等待通过后确认4.产品密钥会自动填充直接下一步(不截图说明)5.勾选“我接受”直接下一步(不截图说明)6.对于程序支持文件,点击安装;然后安装通过,点击下一步7.设置角色,选择“功..

    2022年6月23日
    39
  • mac navicat15 激活码[最新免费获取]

    (mac navicat15 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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