redis 系列-redis 是什么

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;

相关推荐