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完成才能进行后续的命令,所以性能会受影响。
Memcached, Redis, MongoDB区别相关推荐
- redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?...
这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型, 你要是这个都不知道,那后面玩儿 redis 的时候,出了问题岂不是什 ...
- 面试系列12 redis和memcached有什么区别
(1)redis和memcached有啥区别 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcached ...
- Redis,MemCached,MongoDB 概述
调研项目主要有Redis. MemCached. MongoDB,以及Amazon的DynamoDB Redis 是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key- ...
- Memcached与Redis的区别和选择
一.Memcached简介 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fi ...
- 数据库笔记——Mysql、Oracle、Sqlserver || Redis、Memcached、mongoDB环境搭建
个人数据库基础笔记,将各类数据库从环境搭建到使用简单回忆整理,方便自己回顾知识点,也同大家分享下: 关系型数据库(一般基于Jdbc和Sql语法):Mysql .Oracle .SqlServer ...
- php多选批量修改数据库数据类型有哪些_php面试题之memcache和redis的区别
这篇文章介绍的内容是关于php面试题六之memcache和redis的区别,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Memcache和Redis区别: * Redis中,并不是所 ...
- MySQL 和 Redis 的区别以及应用场景
目录 一.mysql 和 redis 的区别 1. 数据类型 2. 本质区别 二.redis 优缺点及使用场景 1. 使用redis有哪些好处? 2. redis 相比memcached 有哪些优势? ...
- 从事前到事后,云数据库 Redis MongoDB 安全体系全揭秘!
作者:陈金元(今远),阿里云管控技术专家 一.整体说明 上图是云数据库Redis&MongoDB的安全体系图,横向是实例控制链路,纵向是实例数据链路,对于控制链路,事前为了避免恶意操作或者误操 ...
- Redis+MongoDB 极佳实践:做到读写分离
Redis+MongoDB 最佳实践 做到读写分离 -摘自网络 - iDEAAM - 博客园
最新文章
- Spring MVC环境中的文件上传功能实现
- 业界资讯:Alternativa 3D 7 免费
- 配置安全的Impala集群集成Sentry
- boost::equal_range相关的测试程序
- php 集合安装,centos7安装php5.6报错集合
- 微信、QQ都在用的腾讯云EB级对象存储架构剖析
- Binary classification - 聊聊评价指标的那些事儿【回忆篇】
- Php无限层级并显示层级数
- CSP202012-2 期末预测之最佳阈值(100分)【序列处理】
- DiscuzX2.5完整目录结构【模板目录template】
- 什么是java代理?
- 这一次我要真正学会C语言
- 人工智能工程师一般需要学什么?
- 基于GeoHash算法的地理位置检索
- java Pattern和Matcher详解
- 从零带你入门stylegan~stylegan3的技术细节
- 百度地图API(三)电子围栏—地图点击事件创建多边形
- vue 打开html流_在vue项目中添加一个html页面,开启本地服务器
- R语言学习——矩阵相关函数
- 网络协议 一 网络层( 版本、首部长度、区分服务、总长度、 标识、标志、片偏移生存时间、协议、首部校验和)
热门文章
- 配置 php-fpm 监听的socket
- .NE 后退刷新验证码
- 数据库和缓存一致性的问题
- libevent源码深度剖析
- C语言中字符数组和字符串指针分析
- ASP.NET ViewState 初探
- Google Test(GTest)使用方法和源码解析——自定义输出技术的分析和应用
- 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1
- java程序ssh置顶_使用shell脚本启动远程(SSH)Java应用程序不会返回本地提示
- 三星a5009Android6.0,三星A5009原版系统刷机包_三星A5009最新升级包线刷包和root