-
Redis代码阅读
收藏Redis 是一个开源的高性能key-value数据库,其很大程度上弥补了memeched这类key-value存储的不足(除了支持String外,还支持Hash,Set,sorted set, List),在部分场合对关系型数据库也起到了很好的补充作用。
最近更新文章
Redis代码阅读3--Redis网络监听(3)
是介绍Redis网络监听的最后一篇文章,着重分析定时时间处理函数serverCron,这个函数其实已经和网络监听没多大关系了,当时因为其绑定在Redis自定义的事件库的定时事件上,所以放到一起来讲。serverCron的这个函数对Redis的正常运行来说很重要,对于Redis的使用者来说,最重要的就是能够迅速直观地看到Redis的当前的运行状况(keys,sizes,memory等),serverC ...
Redis代码阅读3--Redis网络监听(2)
这篇文章接上一篇,主要介绍Redis网络监听流程的各个步骤。
aeCreateEventLoop
:创建用于循环监听的
eventLoop
,
Redis
支持主流的三种事件触发机制:
select ,epoll, kqueue,
可以通过在
config.h
里面配置
HAVE_EPOLL/
HAVE_KQUEUE
来根据不同的操作系统选择合适的机制:调用
ae_ ...
Redis代码阅读3--Redis网络监听(1)
接下来的三篇文章将对Redis的网络监听流程及涉及到事件库和各个主要方法进行介绍。
在介绍
redis的网络监听流程和事件库之前,我们先设想一下,如果我们不采用
libevent
等流行的开源库进行基于事件的网络监听,而是自己去实现一套基于事件的库去进行网络监听,需要考虑些什么,然后我们带着这些问题去分析
Redis是如果通过少量的代码来完成这个工作的。
...
Redis代码阅读1--Redis启动原理
前面写了一篇文章简单介绍Redis的list结构。再写完之后,我觉得有必要熟悉Redis的启动过程和如何读取Redis的命令,因此本文将通过分析代码来介绍Redis的启动过程,通过查看Redis 的启动脚本,得知Redis的启动时从Redis.c的main方法开始的。Redis启动可以分为以下几个步骤:
初始化Redis服务器全局配置
重置服务器Save参数(具体下文详解)和加载配置文件 ...
Redis代码阅读2--Redis数据结构之链表
Redis
是一个开源的高性能key-value数据库,其很大程度上弥补了memeched这类key-value存储的不足(除了支持String外,还支持Hash,Set,sorted set, List),在部分场合对关系型数据库也起到了很好的补充作用。因为Redis的代码量并不多,因为我逐步阅读了其源代码,以期能对其有深入的理解。首先介绍Redis支持的各种数据结构。
...