上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页
摘要: 一、quicklist简介 为什么说quicklist是“二合一”呢?如果你看过STL中的deque的实现,就会知道deque是由一个map中控器和一个数组组成的数据结构,它既具有链表头尾插入便捷的优点,又有数组连续内存存储,支持下标访问的优点。Redis中是采用sdlist和ziplist来实现q 阅读全文
posted @ 2021-07-10 22:12 Mr-xxx 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 在菜鸟教程自学了redis,总想着像Mysql一样,在C/C++中进行对接。于是查询了一些资料,最后找到了hiredis。然而直接用它的话,难免有点不方便。于是,对其进行封装。 hiredis直接去git上克隆,地址:https://github.com/redis/hiredis。 下载好之后,由 阅读全文
posted @ 2021-07-07 09:47 Mr-xxx 阅读(426) 评论(0) 推荐(0) 编辑
摘要: redis中压缩列表ziplist相关的文件为:ziplist.h与ziplist.c 压缩列表是redis专门开发出来为了节约内存的内存编码数据结构。源码中关于压缩列表介绍的注释也写得比较详细。 一、数据结构 压缩列表的整体结构如下 1 /* 2 <zlbytes> <zltail> <zllen 阅读全文
posted @ 2021-07-07 09:25 Mr-xxx 阅读(267) 评论(0) 推荐(0) 编辑
摘要: redis中整数集合intset相关的文件为:intset.h与intset.c intset的所有操作与操作一个排序整形数组 int a[N]类似,只是根据类型做了内存上的优化。 一、数据结构 1 /** 2 * 整型有序集合intset 3 */ 4 typedef struct intset 阅读全文
posted @ 2021-07-06 17:36 Mr-xxx 阅读(59) 评论(0) 推荐(0) 编辑
摘要: redis中并没有专门给跳跃表两个文件。在5.0.2的版本中,结构体的声明与定义、接口的声明在server.h中,接口的定义在t_zset.c中,所有开头为zsl的函数。 一、数据结构 单个节点: 1 /** 2 * ZSETs use a specialized version of Skipli 阅读全文
posted @ 2021-07-05 22:48 Mr-xxx 阅读(90) 评论(0) 推荐(0) 编辑
摘要: redis中字典相关的文件为:dict.h与dict.c 与其说是一个字典,道不如说是一个哈希表。 一、数据结构 1.1 dictEntry结构体 1 /** 2 * dictEntry是一个kv对的单向链表,其中v是一个联合体,支持数字,或者是指向一块内存的指针。 3 */ 4 typedef s 阅读全文
posted @ 2021-07-05 09:44 Mr-xxx 阅读(54) 评论(0) 推荐(0) 编辑
摘要: redis中双向链表相关的文件为:adlist.h与adlist.c 一、数据结构 redis里定义的双向链表,与普通双向链表大致相同 1.1 单个节点结构 1 /* Node, List, and Iterator are the only data structures used current 阅读全文
posted @ 2021-07-03 21:28 Mr-xxx 阅读(40) 评论(0) 推荐(0) 编辑
摘要: redis中动态字符串sds相关的文件为:sds.h与sds.c 一、数据结构 redis中定义了自己的数据类型"sds",用于描述 char*,与一些数据结构 1 typedef char *sds; 2 3 /* Note: sdshdr5 is never used, we just acce 阅读全文
posted @ 2021-07-03 17:43 Mr-xxx 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1、Redis简介: Redis是一种数据库。能够存储数据、管理数据的一种软件。 2、数据库应用的发展历程: 单机数据库时代:一个应用,一个数据库实例 缓存(Memcached,存放少量的经常使用的数据)、水平切分时代(把一个表或多个较大的表存放在一个单独的数据库中) 读写分离时代(需要同步机制,类 阅读全文
posted @ 2021-06-30 21:35 Mr-xxx 阅读(57) 评论(0) 推荐(0) 编辑
摘要: SO_LINGER SO_LINGER选项用于控制close系统调用在关闭TCP连接时的行为。默认情况下,当我们使用close系统调用来关闭一个socket时,close将立即返回,TCP模块负责把该socket对应的TCP发送缓冲区中残留的数据发送给对方。 设置(获取)SO_LINGER选项的值时 阅读全文
posted @ 2021-06-30 17:05 Mr-xxx 阅读(838) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页