什么是NOSQL
redis是NoSql数据库。NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。
关系型与非关系型数据库区别
关系型数据库:
- 数据结构是表,表与表可以存在关系(一对一,一对多,多对多)
- 数据是存在硬盘上,每次访问时,是将数据从硬盘读取到内存中
- 支持SQL语言
非关系型数据库:
- 数据结构可以是文档,key-value结构等,数据之间不存在关系
- 数据是存在内存中,在满足需要的时候,也可以将数据存在硬盘上
- 不支持SQL语言,没有事务处理
Redis的概述
Redis(Remote Dictionary Server ) 远程字典服务,Redis是一个数据存储在内存(读写速度快),数据结构简单(key-value形式的5种数据结构),操作简单,常用作缓存场景的NOSQL数据库。
Redis的单线程高效率
redis是一个单线程的数据库,那么就一个线程是如何保证高效率的读写访问?
- 纯内存操作
- 基于非阻塞的IO多路复用机制(与多个并发客户端建立连接)
- 单线程反而避免了多线程的频繁上下文切换问题