redis是基于内存可持久化的日志型、Key-Value数据库。redis安装在磁盘,但是数据存储在内存。非关系型数据库NoSql。开源免费,遵守BSD协议,不用关注版权问题。
redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线等附加功能。
执行过程:发送指令-〉执行命令-〉返回结果
执行命令:单线程执行,所有命令进入队列,按顺序执行
单线程快原因:纯内存访问, 单线程避免线程切换和竞争产生资源消耗,RESP协议简单(后端封装,传输的是RESP协议的redis命令给redis服务器)
问题:如果某个命令执行慢,会造成其它命令的阻塞。
特性:
- 速度快(单线程)
- 键值对的数据结构服务器
- 丰富的功能
- 简单稳定
- 持久化
- 主从复制
- 高可用和分布式转移
- 客户端语言多
- 原子性:要么全执行要么全不执行