REDIS
文章平均质量分 78
second60
这个作者很懒,什么都没留下…
展开
-
[redis源码注释]-简述
[redis源码注释]-简述second60 201805101 站在巨人的肩膀上有些人会问:学习一门技术最快的方法是什么?答案很简单:就是站在巨人的肩膀上,多看多多抄多练。第一:可以省去我们造轮子,四处碰壁的时间第二:可以学习巨人的精髓,使自已能力不断的提升第三:多抄,可以使自已写代码的风格像巨人一样,如火纯青 这篇文件不讲技术,纯属非技术分享哈~~ 学习源码和阅读别人的博客是比较好的方法,也是...原创 2018-05-10 01:41:45 · 450 阅读 · 0 评论 -
[redis源码注释]-内存分配
[redis源码注释]-内存分配second60 20180510内存分配文件,主要包括两个文件: zmalloc.h zmalloc.czmalloc.h#ifndef __ZMALLOC_H #define __ZMALLOC_H /* Double expansion needed for stringification of macro values. */ #define __xst...原创 2018-05-10 01:48:01 · 287 阅读 · 0 评论 -
[redis源码注释]-动态字符串
[redis源码注释]-动态字符串second60 20180511 动态字符串文件: sds.h sds.c在此,参考了 黄健宏老师 的redis源码的基础上添加了额外的注释。感谢黄健宏老师的分享,后面的源码注释都是在,老师的基础上分析。动态字符串分析:1. 在看源码中,个人觉得最重要的就是sdshdr的定义。 sdshdr定义了三上字段:len - 实际使用字符串的长度,free - ...原创 2018-05-11 04:56:14 · 377 阅读 · 1 评论 -
[redis源码注释]-双向链表
[redis源码注释]-双向链表second60 201805111. 双向链表源文件头文件:adlist.hC文件:adlist.c 2. 双向链表结构定义2.1 链表节点typedef struct listNode { struct listNode * prev; struct listNode * next; void * value; }listNode;分析:这是一个标准的双...原创 2018-05-12 00:10:37 · 285 阅读 · 0 评论 -
[redis源码注释]-字典
[redis源码注释]-字典second60 201805151. 字典源文件头文件:dict.hC文件:dict.c2. 字典结构定义在C++STL中,字典是采用红黑树实现的,但在redis中,作者是采用二维链表的方式实现字典的。2.1 哈希表节点typedef struct dictEntry { // 键-void* 支持任何类型 void *key; // 值 ...原创 2018-05-15 00:51:07 · 254 阅读 · 0 评论 -
[框架]缓存设计
[框架]缓存设计 second60 20181031 目录 [框架]缓存设计 1 . 缓存层目的 1.1缓存能够加速读写速度 1.2 降低后端负载 3 缓存的使用场景 3.1 加速请求响应,减少查数据库时间,优化高并发 3.2 开销大的复杂计算分离 3.3 通用缓存 4 缓存更新策略 4.1 LRU/LFU/FIFO算法剔除 4.2 超时删除 4.3 主动更新 4....原创 2018-10-31 20:14:20 · 994 阅读 · 0 评论 -
[redis]redis中的pipeline
redis中的pipeline second60 20181101 1 单操作命令分析 单操作命令操作时间 = 1次网络往返 + 1次命令执行 假如一次get key,那么是单次操作 2 批量操作命令分析 如果我们要得到n个key, 如果循环调用get,那么 循环操作单次命令时间= n次网络往返+ n次命令执行. 为此,redis中提供了批量操作的命令,如mget, m...原创 2018-11-01 20:18:45 · 2778 阅读 · 0 评论