包含标签 redis 的文章

redis Server

数据库切换 默认会创建16个数据库,客户端通过select选取。但一般情况只用第0个数据库,切换容易导致误操作 1 2 3 4 5 6 7 8 9 typedef struct redisDb { dict *dict; //键空间 dict *expires; //过期字典 int id; } redisDb; 所有键空间存储在redisDb的dict中,称为key space 每个键是字符串对象,值是各种对象 读写键操作 更新key……

阅读全文

redis 多节点

主从(复制) 同步 slave刚上线或断线重连时的第一次全量同步 slave的客户端主动发送sync命令,触发master的BGSAVE,BGSAVE过程中将命令存入缓冲区,BGSAVE完成后发送RDB文件,slave完成RDB载入后再发送缓冲区的指令 命令传播 完成同步后的增量同步 mas……

阅读全文

redis 数据结构

此系列作为redis设计与实现的笔记,会将本人自认为重点部分单独拎出来,并加入本人的一些理解。 SDS (simple dynamic string) 等同于go里的slice 1 2 3 4 5 6 7 8 9 struct sdshdr { int len; int free; char buf[]; } 优点: 杜绝缓冲区溢出(free检验) 减少修改字符串时的内存分配次数(策略:小于1MB时,le……

阅读全文