初识NoSQL

NoSQL介绍

NoSQL,即not only sql,泛指非关系型数据库

  • 关系型数据库,保证数据的完整性、关联性
    id   name   age   salary
  • 非关系型数据库,不保证数据的完整性、关联性,对数据的读写操作效率高
    保证键值存储:key=>value
    set name value
    get name

NoSQL数据库分类

键值数据库:Redis、Memcache
列表型数据库:HBase(java)
文档型数据库:MongoDB

Redis介绍

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

意大利工程师,2000年左右,开发一个项目需要做一个实时统计的功能,但是感觉MySQL读写性能很差,于是决定自己写一个数据库,为了提升读写速度,在内存中开辟一块空间进行读写,从而提升了读写数据的效率,后来得到VMware赞助。

Linux系统--->内存(Redis读写)---->磁盘(文件)----->连接mysql数据库----读写表

Redis提供了持久化存储的解决方案,基于这一点从众多内存缓存数据库中脱颖而出。Memcache也是存储到内存中,但是每次重启操作系统,内存中的数据会丢失

Redis 应用场景

由于Redis是基于内存存储的,所以对读写效率要求高、并且数据量小的建议使用Redis存储
例如:

  • 缓存字符串(数据量少)
  • 任务队列(订单生成)
  • 排行榜程序(sorted set有序集合)
  • 分布式环境下session存储

猜你喜欢

转载自www.cnblogs.com/writerW/p/8933130.html