redis-beta3源码分析

redis是一个开源的内存数据库,当然也可以将内存数据持久化到磁盘文件.redis属于一种NoSQL类型的数据库,它的设计目标是内存数据操作的高性能,当然也有一些高可用性的功能.

redis是以ANSI C语言写的,其中调用了部分符合POSIX规范的系统调用,因此官方版本可以运行在linux, BSD等POSIX操作系统上,也因此不支持windows操作系统.redis是一个自包含的系统,不需要依赖第三方库.更多关于redis的介绍请参考其官方网站https://redis.io/ .

redis-beta3版本是作者几乎最开始发布的版本,前两个beta版本不支持set数据类型.其代码量比较少,适合分析其流程和数据结构,也可以了解作者的初始设计是为了解决哪些问题场景.

redis-beta3版本的目录结构及其包含的文件,如下图所示:
这里写图片描述

目录client-libraries下面是ruby实现的客户端库,用来封装redis命令.
adlist文件有关链表操作的逻辑.
ae文件是事件处理框架.
anet是有关socket网络接口的处理逻辑.
dict是哈希表处理逻辑.
picol文件是测试用,redis服务器不包含该文件.
redis是相关命令处理流程.
sds是redis的string处理逻辑.
另外,README文件中有redis协议的简单介绍,redis.conf是配置文件,redis服务启动时,可以使用配置文件中的参数覆盖默认其默认值.

redis-beta3版本源码分析包括如下几部分:
redis启动初始化过程
redis事件循环处理框架
redis协议解析
操作string类型value的redis协议
操作list类型value的redis协议
操作set类型value的redis协议
redis的key操作命令
redis内存数据持久化操作命令
redis数据库操作命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值