为什么 redis 比较快
Redis 中的查询速度为什么那么快呢?
1、因为它是内存数据库;
2、归功于它的数据结构;
3、Redis 中是单线程;
4、Redis 中使用了多路复用。
Redis 中的数据结构
这里借用一张来自[Redis核心技术与实战] Redis 中数据结构和底层结构的对应图片
1、简单动态字符串
Redis 中并没有使用 C 中 char 来表示字符串,而是引入了 简单动态字符串(Simple Dynamic Strings,SDS)来存储字符串和整型数据。那么 SDS 对比传统的字符串有什么优点呢?
先来看下 SDS 的结构
struct sdshdr {
// 记录 buf 数组中已使用字节的数量
// 等于 SDS 保存字符串的长度,不包含'