深入底层C源码讲透Redis核心设计原理

目录

1.redis基本特性

 2.redis应用场景

3.数据结构

 3.1 string


1.redis基本特性

深入底层C源码讲透Redis核心设计原理_第1张图片

 2.redis应用场景

深入底层C源码讲透Redis核心设计原理_第2张图片

 深入底层C源码讲透Redis核心设计原理_第3张图片

3.数据结构

 3.1 string

redis中都是k-v结构,key在底层都是string结构,value有string,hash,set,sorted set,list等。

其中string中的数据结构如下,3.2之前只有三个参数len(字符长度),free(空闲空间),buf[](存储变量)

深入底层C源码讲透Redis核心设计原理_第4张图片

redis中string字符串的三个特性

1.二进制安全的数据结构

        c语言在string str='xxx\0';字符串这样的结构时以一个\0代表结尾。

2.提供了内存预分配机制,避免了频繁的内存分配

        提供扩容机制,算法:(len+addlen)*2

3.兼容C语言的函数库。

深入底层C源码讲透Redis核心设计原理_第5张图片

深入底层C源码讲透Redis核心设计原理_第6张图片

深入底层C源码讲透Redis核心设计原理_第7张图片

深入底层C源码讲透Redis核心设计原理_第8张图片

深入底层C源码讲透Redis核心设计原理_第9张图片

 bitmap底层使用string,string字符串能代表的最大长度512M。

下图统计周活用户

你可能感兴趣的:(redis,java,数据库)