2021.12.04
一、Redis 有哪些特性?
-
读写性能优异, 读的速度是100000次/s,写的速度是80000次/s
-
数据持久化,支持RDB 、AOF两种持久化方式
-
支持事务。通过
MULTI
和EXEC
指令包起来 -
支持多种数据结构类型
-
主从复制
-
其他特性:发布/订阅、通知、key过期等
二、Redis 为什么这么快?
-
完全基于内存,没有磁盘IO上的开销,异步持久化除外
-
单线程,避免多个线程切换的性能损耗
-
非阻塞的IO多路复用机制
-
底层的数据存储结构优化,使用原生的数据结构提升性能
三、Redis 底层的基础数据结构有哪些?
-
字符串。没有采用C语言的传统字符串,而是自己实现的一个简单动态字符串SDS的抽象类型,并保存了长度信息。
-
链表(linkedlist)。双向无环链表结构,每个链表的节点由一个listNode结构来表示,每个节点都有前置和后置节点的指针
-
字典(hashtable)。保存键值对的抽象数据结构,底层使用hash表,每个字典带有两个hash表,供平时使用和rehash时使用。
- <