共计 677 个字符,预计需要花费 2 分钟才能阅读完成。
Redis 是什么
Redis (Remote Dictionary Service) 即远程字典服务。是一个由 C 语言编写的基于内存的存储服务。
Redis 的基础数据结构
reids 目前支持 5 种基础数据结构 string,list,hash,set,zset
string(字符串)
在 c 语言中的结构定义(SDS)见 “sds.h/sdshdr”
注: 代码结构和源码不太一样 为方便理解 有兴趣可以看 https://github.com/antirez/re…
如下
stract sdshdr{ | |
int len;// 记录 sds 保存的字符串长度 | |
int alloc; // 记录 buf 数组中未使用的字节数量 | |
char flags; // 3 lsb of type, 5 unused bits | |
char buf[]; // 字节数组,存储字符} |
程序员面试凡事都喜欢问为什么?你先琢磨下,后面开始给大家讲为什么?
list(列表)
在 c 语言中的结构定义
typedef struct listNode { | |
struct listNode *prev; // 前置节点 | |
struct listNode *next;// 后置节点 | |
void *value; // 值 | |
} listNode; | |
typedef struct list { | |
listNode *head; // 头节点 | |
listNode *tail;// 尾节点 | |
void *(*dup)(void *ptr);// 节点值复制函数 | |
void (*free)(void *ptr);// 节点值释放函数 | |
int (*match)(void *ptr, void *key);// 节点值对比函数 | |
unsigned long len;// 链表包含的节点数量 | |
} list; |
正文完