Redis-Code
==========
# redis键值数据库源码分析
## test:(测试)
* memtest.c 内存检测
* redis_benchmark.c 用于redis性能测试的实现。
* redis_check_aof.c 用于更新日志检查的实现。
* redis_check_dump.c 用于本地数据库检查的实现。
* testhelp.c 一个C风格的小型测试框架。
# struct:(结构体)
* adlist.c 用于对list的定义,它是个双向链表结构
* dict.c 主要对于内存中的hash进行管理
* sds.c 用于对字符串的定义
* sparkline.c 一个拥有sample列表的序列
* t_hash.c hash在Server/Client中的应答操作。主要通过redisObject进行类型转换。
* t_list.c list在Server/Client中的应答操作。主要通过redisObject进行类型转换。
* t_set.c set在Server/Client中的应答操作。主要通过redisObject进行类型转换。
* t_string.c string在Server/Client中的应答操作。主要通过redisObject进行类型转换。
* t_zset.c zset在Server/Client中的应答操作。主要通过redisObject进行类型转换。
* ziplist.c ziplist是一个类似于list的存储对象。它的原理类似于zipmap。
* zipmap.c zipmap是一个类似于hash的存储对象。
# data:(数据操作)
* aof.c 全称为append only file,作用就是记录每次的写操作,在遇到断电等问题时可以用它来恢复数据库状态。
* config.c 用于将配置文件redis.conf文件中的配置读取出来的属性通过程序放到server对象中。
* db.c对于Redis内存数据库的相关操作。
* multi.c用于事务处理操作。
* rdb.c 对于Redis本地数据库的相关操作,默认文件是dump.rdb(通过配置文件获得),包括的操作包括保存,移除,查询等等。
* replication.c 用于主从数据库的复制操作的实现。
# tool:(工具)
* bitops.c 位操作相关类
* debug.c 用于调试时使用
* endianconv.c 高低位转换,不同系统,高低位顺序不同
* help.h 辅助于命令的提示信息
* lzf_c.c 压缩算法系列
* lzf_d.c 压缩算法系列
* rand.c 用于产生随机数
* release.c 用于发步时使用
* sha1.c sha加密算法的实现
* util.c 通用工具方法
* crc64.c 循环冗余校验
# event:(事件)
* ae.c 用于Redis的事件处理,包括句柄事件和超时事件。
* ae_epoll.c 实现了epoll系统调用的接口
* ae_evport.c 实现了evport系统调用的接口
* ae_kqueue.c 实现了kqueuex系统调用的接口
* ae_select.c 实现了select系统调用的接口
# baseinfo:(基本信息)
* asciilogo,c redis的logo显示
* version.h定有Redis的版本号
# compatible:(兼容)
* fmacros.h 兼容Mac系统下的问题
* solarisfixes.h 兼容solary下的问题
# main:(主程序)
* redis.c redis服务端程序
* redis_cli.c redis客户端程序
# net:(网络)
* anet.c 作为Server/Client通信的基础封装
* networking.c 网络协议传输方法定义相关的都放在这个文件里面了。
# wrapper:(封装类)
* bio.c background I/O的意思,开启后台线程用的
* hyperloglog.c 一种用于大数据处理的,基数统计算法
* intset.c 整数范围内的使用set,并包含相关set操作。
* latency.c 延迟类
* migrate.c 命令迁移类,包括命令的还原迁移等
* notify.c 通知类
* object.c 用于创建和释放redisObject对象
* pqsort.c 排序算法类
* pubsub.c 用于订阅模式的实现,有点类似于Client广播发送的方式。
* rio.c redis定义的一个I/O类
* slowlog.c 一种日志类型的,记录超时查询记录
* sort.c 排序算法类,与pqsort.c使用的场景不同
* syncio.c 用于同步Socket和文件I/O操作。
* zmalloc.c 关于Redis的内存分配的封装实现
# others:(存放了一些我暂时还不是很清楚的类,所以没有解释了)
* scripting.c
* sentinel.c
* setproctitle.c
* valgrind.sh
* redisassert.h
## Redis中的11大优秀设计:
* [hyperloglog基量统计算法的实现](http://blog.csdn.net/androidlushangderen/article/details/40683763)
* [zmalloc内存分配的重新实现](http://blog.csdn.net/androidlushangderen/article/details/40659331)
* [multi事务操作](http://blog.csdn.net/androidlushangderen/article/details/40392209)
* [redis-benchmark性能测试](http://blog.csdn.net/androidlushangderen/article/details/40211907)
* [zipmap压缩结构的设计](http://blog.csdn.net/androidlushangderen/article/details/39994599)
* [sparkline微线图的重新设计](http://blog.csdn.net/androidlushangderen/article/details/39964591)
* [对象引用计数实现内存管理](http://blog.csdn.net/androidlushangderen/article/details/40716469)
* [fork子进程实现后台程序](http://blog.csdn.net/androidlushangderen/article/details/40266579)
* [long long 类型转为String类型方法](http://blog.csdn.net/androidlushangderen/article/details/40649623)
* [正则表达式的实现算法](http://blog.csdn.net/androidlushangderen/article/details/40649623)
* [Redis的drand48()随机算法重实现](http://blog.csdn.net/androidlushangderen/article/details/40582189)
没有合适的资源?快使用搜索试试~ 我知道了~
redis键值数据库源码分析.zip
共81个文件
c:48个
h:27个
txt:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2024-12-02
21:35:02
上传
评论
收藏 452KB ZIP 举报
温馨提示
redis键值数据库源码分析Redis 代码redis键值数据库源码分析test:(测试)memtest.c 内存检测redis_benchmark.c用于redis性能测试的实现。redis_check_aof.c 用于更新日志检查的实现。redis_check_dump.c 用于本地数据库检查的实现。testhelp.c 一个C风格的小型测试框架。struct:(结构体)adlist.c用于对列表的定义,它是一个端点链表结构dict.c主要用于内存中的hash进行管理sds.c 用于对字符串的定义Sparkline.c 一个拥有样本列表的序列t_hash.c hash在Server/Client中的自定义操作。主要通过redisObject进行类型转换。t_list.c list在Server/Client中的应答操作。主要通过redisObject进行类型转换。t_set.c set在Server/Client中的应答操作。主要通过redisObject进行类型转换。t_string.c string在Server/Client中的应答操作。主要
资源推荐
资源详情
资源评论
收起资源包目录
redis键值数据库源码分析.zip (81个子文件)
READ_ME.txt 4KB
wrapper
rio.h 5KB
notify.c 6KB
latency.c 26KB
rio.c 8KB
object.c 23KB
pubsub.c 15KB
bio.c 10KB
zmalloc.h 4KB
bio.h 2KB
slowlog.c 7KB
zmalloc.c 11KB
slowlog.h 2KB
latency.h 4KB
标签.txt 2B
.gitattributes 483B
tool
sha1.h 470B
lzf_d.c 4KB
util.c 21KB
rand.c 4KB
util.h 3KB
lzf.h 4KB
lzf_c.c 9KB
endianconv.c 4KB
crc64.c 11KB
help.h 19KB
lzfP.h 5KB
bitops.c 21KB
rand.h 2KB
crc64.h 196B
release.c 2KB
debug.c 35KB
sha1.c 7KB
endianconv.h 3KB
data
config.h 6KB
rdb.h 6KB
rdb.c 47KB
config.c 82KB
replication.c 72KB
aof.c 55KB
db.c 39KB
multi.c 14KB
net
networking.c 66KB
anet.h 3KB
anet.c 18KB
event
ae_kqueue.c 4KB
ae_select.c 4KB
ae_epoll.c 5KB
ae_evport.c 11KB
ae.h 8KB
ae.c 17KB
struct
dict.h 9KB
t_zset.c 91KB
sparkline.c 7KB
t_set.c 32KB
t_hash.c 29KB
sds.c 37KB
ziplist.h 3KB
adlist.c 12KB
sparkline.h 3KB
ziplist.c 55KB
zipmap.h 3KB
t_list.c 45KB
adlist.h 4KB
t_string.c 18KB
sds.h 4KB
dict.c 35KB
zipmap.c 18KB
资源内容.txt 915B
test
redis-benchmark.c 31KB
redis-check-aof.c 8KB
testhelp.h 3KB
memtest.c 13KB
redis-check-dump.c 25KB
.gitignore 606B
baseinfo
version.h 58B
asciilogo.h 3KB
main
redis-cli.c 67KB
redis.h 66KB
redis.c 128KB
README.md 5KB
共 81 条
- 1
资源评论
赵闪闪168
- 粉丝: 1677
- 资源: 5391
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功