当前位置:首页 > 开发 > 数据库

记录发现的一个hiredis的bug

hiredis是redis官方提供的c客户端库。在读代码的过程中,发现了一个bug,记录一下。 hiredis里定义了一个上下文结构(struct redisContext),代码如下(deps/hiredis/hiredis.h): https://github.com/antirez...     互联网   (2015-11-13)

redis源码笔记 - redis对过期值的处理(in redi

redis允许对key设置超时时间,实现过期key的自动淘汰。这篇blog分析下,其自适应(adaptive)的淘汰机制。 redis每隔100ms定时执行的循环(serverCron function)里有如下语句: 655 /* Expire a few keys...     互联网   (2015-11-13)

redis源码笔记 - aof

aof是redis提供的一种数据持久化机制,通过将每一条命令dump下来,保持数据和内存中的数据一致。 1 #include "redis.h" 2 #include "bio.h" 3 4 #include <signal.h> ...     互联网   (2015-11-13)

redis源码笔记 - slowlog

slowlog是redis提供的进行query分析的工具。它将执行时间长的命令统一以list形式保存在内存之中,使用者可以通过slowlog命令查看这些慢query,从而分析系统瓶颈。 最好的分析笔记是作者的注释,除此之外,会做简...     互联网   (2015-11-13)

redis源码笔记 - redis-cli.c

这份代码是redis的client接口,其和server端的交互使用了deps目录下的hiredis c库,同时,在这部分代码中,应用了linenoise库完成类似history命令查询、自动补全等终端控制功能。 1 #include "fmacros.h&...     互联网   (2015-11-13)

redis源码笔记 - bio

作者在bio.c的头注释中对设计进行了详细的介绍/* Background I/O service for Redis. 这个文件是redis后台IO服务的实现 * * This file implements operations that we need to perform in the background. ...     互联网   (2015-11-13)

redis源码笔记-ae.c

ae.c是redis事件框架的具体实现,这篇blog对这份源码进行简单说明。其中谈到了作者已经标记的一些未来可能做的改进。 ae.c 1 #include <stdio.h> 2 #include <sys/time.h> 3 #include <...     互联网   (2015-11-13)

redis源码笔记-ae.h

ae框架是redis作者开发的事件处理框架,其目的和libevent项目类似。redis本着最小依赖原则,自己实现了一套,而且速度更快。ae只有不到500行代码,但据说libevent有3万加的代码,实现这一个功能所付出的代码量已经...     互联网   (2015-11-13)

redis源码笔记-endian

对于目标机是大端字节序的机器,进行字节码的转换,提供了16byte、32byte、64byte字节的转换。在intset\ziplist\zipmap三种数据结构中使用,使得不同字节序机器生成的rdb文件格式都是统一的(小端字节序),便于兼...     互联网   (2015-11-13)

redis源码笔记-anet

anet库是redis对tcp网络层以及unix域实现的一个封装。redis的客户端和server端通信使用的均为TCP协议。Basic TCP socket stuff made a bit less boring anet.h 1 #ifndef ANET_H 2 #define ANET_H 3 4 ...     互联网   (2015-11-13)

共177891条记录 5/17790页 [上一页][1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [下一页]
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号