redis
文章平均质量分 84
elio_w
这个作者很懒,什么都没留下…
展开
-
redis ae事件
事件Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件:文件事件(file event)Redis服务器通过套接字与客户端进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与和客户端的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列的网络通信操作。时间事件(time event)Redis服务器中的一些操作(比如serverCron函数)需要在给定的时间点执行,而时间事件就是服务器对这类定时操作的抽象。文件事件...原创 2021-08-13 15:04:57 · 342 阅读 · 1 评论 -
redis数据结构 - object
各种数据结构 ( sds、dict、skiplist、intset、ziplist 等 ),作为 Redis对外提供的各种数据类型的底层组成部分;但是各种数据类型的键值对并不是直接使用这些数据结构,而是基于这些数据结构构建了一个对象系统(字符串对象、列表对象、哈希对象、集合对象、有序集合对象 )每种对象都至少使用了一种数据结构。对象特性Redis 在执行命令之前,根据对象的类型就可以判断 命令是否可以执行依托对象,可以针对不同的使用场景,为对象设置不同的数据结构实现...原创 2021-08-13 13:47:33 · 158 阅读 · 0 评论 -
redis数据结构 - 整数集合
整数集合在 Redis 中用于保存整数值的集合抽象数据结构,它可以保存 int16_t / int32_t / int64_t 三种类型的整数值,并且保证没有重复;整数集合的结构体如下:typedef struct intset { uint32_t encoding; /* 编码方式 */ uint32_t length; /* 集合的元素数量 */ int8_t contents[]; /* 保存元素的数组 */} intset;...原创 2021-08-12 10:19:43 · 133 阅读 · 0 评论 -
redis数据结构 - 字典
字典。用于保存键值对,每个键都是唯一的,dict基于哈希表算法,采用某个哈希函数从key计算得到哈希表种的位置。采用拉链法解决冲突,在装载因子(load factor)超过预定值时自动扩展内存,引发重哈希(rehashing)redis 字典采用增量式重哈希算法(incremental rehashing),在需要扩展内存时避免一次性对所有key进行重哈希,而是将重哈希操作分散到对于dict的各个增删改查的操作中去。每次只对一小部分key进行重哈希,每次重哈希之间不影响dict的操作。从而避免了重哈希期原创 2021-08-03 20:41:07 · 99 阅读 · 0 评论 -
redis数据结构 - SDS
简单动态字符串有5种类型,分别对应不同长度的sds: sdshdr5、sdshdr8、sdshdr16、sdshdr32、sdshdr64使用__attribute__ ((__packed__))定义sdshdr,告诉编译器取消字节对齐,结构体成员在内存空间上都是连续的,使用sds的小标可以直接指向sdshdr中的其他成员sdshdrlen :sds已使用的长度alloc:包括头部与已使用+未使用的空间占用的大小flags:标识sdshdr类型char buf[]:sds,柔性数组,起到.原创 2021-08-02 22:07:30 · 199 阅读 · 0 评论