redis学习记录01-初识redis

定义

redis是一个速度非常快的非关系型数据库,存储key与5种不同类型的value之间映射,可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来进行扩展性能,还可以使用客户端分片来扩展写性能.

对比其他数据库

说明mysqlmongodbredis
类型关系型数据库非关系型数据库非关系型数据库
类型补充面向文档的数据库内存数据库
存储介质硬盘硬盘内存
数据存储每个数据库可以包含多个表,每个表包含多个行,每个表的字段固定,支持索引,关联查询每个数据库可以包含多个表,但是不包含行,而是包含多个BSON文档,通过key-document关联没有数据库与表的概念,就是一个键值对,存储的类型包含 字符串,列表,集合,散列表,有序集合5种
持久化方式所有数据全部在硬盘上,需要的时候通过才会通过磁盘交换到内存中(mysql也可以设置缓存)mongodb的所有数据实际上是存放在硬盘的,所有要操作的数据通过mmap的方式映射到内存某个区域内。mongodb就在这块区域里面进行数据修改,避免了零碎的硬盘操作。至于mmap上的内容flush到硬盘就是操作系统的事情了,所以,如果,mongodb在内存中修改了数据后,mmap数据flush到硬盘之前,系统宕机了,数据就会丢失redis所有数据都是放在内存中的,持久化是使用RDB方式或者aof方式

性能对比

当物理内存够用的时候,redis>mongodb>mysql

使用场景

mysql :

1 存储在磁盘上,而不是内存上,内存资源更加宝贵,虽然速度更快。
2 支持关联查询

mongoDB

1 虽然存储是用的磁盘,但是实际操作却是操作内存,速度比较mysql更快.但是还是会受到磁盘的限制比如在普通硬盘上写入 和 在 固态硬盘上写入.
2 文档模型,字段不固定,动态存储
3 关联查询不是它的优势,可通过DBref进行关联查询

redis

1 纯粹的内存数据库,当然在持久化的时候还是需要依赖硬盘
2 不支持关联查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值