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;