NoSQL日记——Redis,Mongodb,Memcached区别和使用场景

工作中一旦遇到很多数据,高并发,这时就需要用到NoSQL来帮忙,NoSQL主要用到以下三种:Redis,Mongodb,Memcached。下面的表格介绍了他们之间的区别和使用场景。

对比项RedisMongodbMemcached
数据存储Redis的存储格式和Memcache一样,也是Key-Value模式,但是Redis有另外的实现,除了基本的string类型,redis还实现了hash,list,set,zset数据类型MongoDB的存储格式是文档类型,是一种类型json的格式,这样有机会对某些字段建立索引,可以简单的模仿一下关系型数据库,而且MongoDB确实也有db,table的概念Memcache的存储格式是Key-Value模式,但是很遗憾的是,Value的格式只能是字符串,这也限制了Memcache的应用范围
安全验证Redis有权限验证,不过是全局的Mongo的权限验证类似RBAC,给不同的库建立了不同的账号,并分配账号权限Memcache没有自己的权限验证,只能通过防火墙等手段限制
数据有效期Redis可以给key添加过期时间MongoDB本身其实可以看作是一个数据仓库了,不存在过去时间这一说Memcache也是可以设置过期时间的,这里推荐使用时间戳来设置
数据持久化Redis本身支持两种持久化,快照和AOF追加方式MongoDB先持久化journal再持久化dataMemcached,并没有持久化功能,断电就会丢失数据
特色功能可执行Lua脚本分片,索引(使用倒排索引),可执行js脚本,单文档事务(2PC)Slab Allocation机制,申请大块内存,分成各种大小的Chunk,大小相同的组成Slab Class
使用场景适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统数据模型无法确定;QPS要求高;需要能快速水平扩展;弱事务动态系统中减轻数据库负载,提升性能;做缓存,适合多读少写,大数据量的情况
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值