Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
认识NoSQL
什么是NOSQL
- NoSQL最常见的解释是”
non-relational
“, 很多人也说它是”Not Only SQL“ - NoSQL仅仅是一个概念,泛指非关系型的数据库
- 区别于关系数据库,它们不保证关系数据的ACID特性
- NoSQL是一项全新的数据库革命性运动,提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入
- 常见的NoSQL数据库有:
Redis
、MemCache
、MongoDB
等
SQL和NoSQL的差别
SQL | No SQL | |
---|---|---|
数据结构 | 结构化 | 非结构化 |
数据关联 | 关联的 | 无关联的 |
查询方式 | SQL查询 | 非SQL |
事务特性 | ACID | BASE |
存储方式 | 磁盘 | 内存 |
扩展性 | 垂直 | 水平 |
使用场景 | 1)数据结构固定 2)相关业务对数据安全性、 一致性要求较高 |
1)数据结构不稳定 2)对一致性、安全性要求不高 3)对性能要求 |
认识Redis
Redis诞生于2009年全称是**Remote Dictionary Server**,远程词典服务器,是一个基于内存的键值型NoSQL数据库。
Redis的特征:
- 键值(key-value)型,value支持多种不同数据结构,功能丰富。
- 单线程,每个命令具备原子性(新版本网络多线程)。
- 低延迟,速度快(基于内存、IO多路复用、良好的编码)。
- 支持数据持久化
- 支持主从集群、分片集群
- 支持多语言客户端