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 应用场景
由于Redis是基于内存存储的,所以对读写效率要求高,且数据量小的建议使用Redis存储
例如:
- 缓存字符串(数据量少)
- 任务队列(订单生成)
- 排行榜程序(sorted set有序集合)
- 分布式环境下session存储