初识NoSQL
Posted 编程成长记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识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存储
以上是关于初识NoSQL的主要内容,如果未能解决你的问题,请参考以下文章