当前位置:网站首页>redis 源码源文件说明
redis 源码源文件说明
2022-08-10 15:03:00 【aneutron】
redis 源码源文件说明
分类 | 源文件 | 说明 | 备注 |
|---|---|---|---|
数据结构/编码 | adlist.c, adlist.h | 双端链表数据结构的实现。 | |
数据结构/编码 | quicklist.c, quicklist.h | 快表实现 | |
数据结构/编码 | listpack.c, listpack.h, listpack_malloc.h | 5.0 新增liskpack实现 | |
数据结构/编码 | rax.c, rax.h, rax_malloc.h | 基数树实现 | |
数据结构/编码 | dict.c, dict.h | 字典数据结构的实现。 | |
数据结构/编码 | intset.c, intset.h | intset 数据结构实现 | |
数据结构/编码 | sds.c, sds.h, sdsalloc.h | sds 字符串实现 | |
数据结构/编码 | ziplist.c, ziplist.h | 压缩表实现 | |
数据结构/编码 | zipmap.c, zipmap.h | ZIPMAP 数据结构的实现,在 Redis 2.6 以前用于优化 HASH 类型, Redis 2.6 开始已经废弃。 | |
数据结构/编码 | stream.h | 5.0 新增stream数据结构实现 | |
数据类型/功能 | t_string.c | string 数据类型实现 | |
数据类型/功能 | t_hash.c | hash 数据类型实现 | |
数据类型/功能 | t_list.c | list 数据类型实现 | |
数据类型/功能 | t_set.c | set 数据类型实现 | |
数据类型/功能 | t_stream.c | stream 数据类型实现 | |
数据类型/功能 | t_zset.c | 数据类型实现 | |
数据类型/功能 | geo.c, geo.h, geohash.c, geohash.h, geohash_helper.c, geohash_helper.h | 地理信息相关操作实现 | |
数据类型/功能 | hyperloglog.c | hyperloglog 相关操作实现 | |
数据类型/功能 | pubsub.c | 消息队列实现 | |
数据类型/功能 | bitops.c | 位操作相关实现 | |
数据类型/功能 | scripting.c | lua脚本功能实现 | |
数据类型/功能 | sort.c | SORT命令的实现 | |
数据类型/功能 | multi.c | Redis 的事务实现。 | |
数据类型/功能 | blocked.c | 用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。 | |
数据类型/功能 | lolwut5.c | 5.0 新增的酷炫命令 | |
数据类型/功能 | lolwut.c | 5.0 新增的酷炫命令 | |
事件处理器/IO | ae.c, ae.h, ae_epoll.c, ae_evport.c, ae_kqueue.c, ae_select.c | 事件处理器,以及各个具体实现 | |
事件处理器/IO | rio.c, rio.h | Redis 对文件 I/O 函数的包装, 在普通 I/O 函数的基础上增加了显式缓存、以及计算校验和等功能。 | |
事件处理器/IO | bio.c, bio.h | Redis 的后台 I/O 程序,用于将 I/O 操作放到子线程里面执行, 减少 I/O 操作对主线程的阻塞。 | |
事件处理器/IO | syncio.c | 同步IO实现 | |
事件处理器/IO | anet.c, anet.h | Redis 的异步网络框架,内容主要为对 socket 库的包装。 | |
事件处理器/IO | networking.c | Redis 的客户端网络操作库, 用于实现命令请求接收、发送命令回复等工作, 文件中的函数大多为 write 、 read 、 close 等函数的包装, 以及各种协议的分析和构建函数。 | |
数据库实现 | object.c | Redis 的对象系统实现。 | |
数据库实现 | db.c | 数据库实现。 | |
数据库实现 | notify.c | Redis 的数据库通知实现。 | |
数据库实现 | evict.c | LRU 数据淘汰机制 | |
数据类型/功能 | expire.c | 过期机制实现 | |
服务端&客户端 | server.c, server.h | 服务端实现 | |
服务端&客户端 | config.c, config.h | Redis 的配置管理实现,负责读取并分析配置文件, 然后根据这些配置修改 Redis 服务器的各个选项。 | |
服务端&客户端 | redis-cli.c | 客户端实现 | |
持久化 | aof.c | aof 实现 | |
持久化 | redis-check-aof.c | AOF 文件的合法性检查程序。 | |
持久化 | rdb.c, rdb.h | RDB 功能实现 | |
持久化 | redis-check-rdb.c | RDB 文件的合法性检查程序。 | |
持久化 | childinfo.c | 进程处理,rdb或aof子进程工作分离 | |
多机支持 | replication.c | 主从复制实现 | |
多机支持 | sentinel.c | 哨兵功能实现 | |
多机支持 | cluster.c, cluster.h | 集群功能实现 | |
多机支持 | redis-trib.rb | 集群管理功能实现 | |
监控相关 | slowlog.c, slowlog.h | 慢日志 | |
监控相关 | latency.c, latency.h | 延迟监控 | |
监控相关 | sparkline.c, sparkline.h | 微线图功能实现 | |
工具功能 | util.c, util.h | 工具类函数集合 | |
工具功能 | siphash.c | Redis 4.0 & 5.0, 采用的是 SipHash 哈希算法 | |
工具功能 | pqsort.c, pqsort.h | 快速排序(QuickSort)算法的实现 | |
工具功能 | lzf_c.c, lzf_d.c, lzf.h, lzfP.h | Redis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。 | |
工具功能 | module.c, redismodule.h | 支持用户自定义module | |
工具功能 | modules | module demo | |
工具功能 | endianconv.c, endianconv.h | 二进制的大端、小端转换函数。 | |
工具功能 | sha1.c, sha1.h | SHA1 校验和计算函数。 | |
工具功能 | crc16.c, crc64.c, crc64.h | 计算 CRC 校验和。 | |
工具功能 | rand.c, rand.h | 随机数实现 | |
工具功能 | localtime.c | 时间功能实现 | |
工具功能 | setproctitle.c | 进程环境设置函数 | |
工具功能 | atomicvar.h | 原子计数实现 | |
内存管理 | zmalloc.c, zmalloc.h | ||
内存管理 | defrag.c | 内存碎片整理 | |
内存管理 | lazyfree.c | redis 4.0 引入了lazyfree的机制,它可以将删除键或数据库的操作放在后台线程里执行, 从而尽可能地避免服务器阻塞。 | |
调试/测试/其他 | valgrind.sup | valgrind 的suppression文件。 | |
调试/测试/其他 | asciilogo.h | ascii logo | |
调试/测试/其他 | version.h | 版本 | |
调试/测试/其他 | release.c | 记录和生成 Redis 的释出版本信息。 | |
调试/测试/其他 | testhelp.h | 测试辅助宏。 | |
调试/测试/其他 | debug.c | 调试实现。 | |
调试/测试/其他 | debugmacro.h | 调试宏定义实现 | |
调试/测试/其他 | redis-benchmark.c | redis benchmark 测试工具 | |
调试/测试/其他 | memtest.c | 内存测试。 | |
调试/测试/其他 | redisassert.h | Redis 自建的断言系统。 | |
调试/测试/其他 | help.h | utils/generate-command-help.rb 程序自动生成的命令帮助信息。 | |
调试/测试/其他 | mkreleasehdr.sh | 用于生成释出信息的脚本。 | |
调试/测试/其他 | solarisfixes.h | 针对 Solaris 系统的补丁。 | |
调试/测试/其他 | fmacros.h | 一些移植性方面的宏。 |
边栏推荐
猜你喜欢

Based on Azuki Series: NFT Valuation Analysis Framework "DRIC"

Redis -- Nosql

Recommend a few had better use the MySQL open source client, collection!

fatal error C1083 Unable to open include file 'io.h' No such file

电商秒杀项目收获(二)

产品说明丨如何使用MobPush快速创建应用

Meaning and names of 12 nautical miles, 24 nautical miles and 200 nautical miles

JS入门到精通完整版

SWIG tutorial "two"

E. Cross Swapping(并查集变形/好题)
随机推荐
MySQL batch update and batch update method of different values of multiple records
NPM - Cannot read properties of null (reading 'pickAlgorithm') 解决方案
scala 基础篇
异地多活方法论
SWIG tutorial "four" - package of go language
Yann LeCun转推:参数减少50倍,性能还更好,MetaAI推出Atlas信息检索模型
How to code like a pro in 2022 and avoid If-Else
It is reported that the original Meitu executive joined Weilai mobile phone, the top product may exceed 7,000 yuan
MySQL命令行导出导入数据库
photoshop入门教程
请查收 2022华为开发者大赛备赛攻略
Meaning and names of 12 nautical miles, 24 nautical miles and 200 nautical miles
数据在内存中的存储
JS 从零手写实现一个bind方法
SWIG教程《一》
fatal error C1083 Unable to open include file 'io.h' No such file
一个 ABAP 工具,能打印系统里某个用户对 BSP 应用的浏览历史记录
fastposter v2.9.1 programmer must-have poster generator
自定义picker滚动选择器样式
基于inotify实现落盘文件的跨进程实时读写交互