Redis目录到底是咋分的,里面都有什么文件和作用简单聊聊
- 问答
- 2026-01-13 11:45:45
- 4
关于Redis的目录结构,我们得先明确一点:你从官网下载Redis源代码自己编译安装,和你通过系统包管理器(比如apt-get或yum)安装,或者直接用Docker跑一个Redis容器,看到的目录结构是会有些不一样的,我这里主要聊的是最常见的情况,也就是从源代码编译安装后形成的那个典型目录结构,这样能让你最清楚地看到Redis的“原生”模样,参考来源主要是Redis源代码包里的README.md和INSTALL文件,以及编译安装后实际生成的目录。
当你下载了Redis的源代码,比如一个叫redis-7.2.4.tar.gz的压缩包,解压后,你会进入一个充满源代码文件的目录,这个目录我们姑且叫它“源码根目录”,但真正对我们运行Redis有意义的,是执行了编译和安装命令后,文件被放置到的地方,默认的安装路径是/usr/local/,我们聊的“Redis目录”主要是指安装后的/usr/local/bin和/usr/local/etc/redis这些地方。
最核心的,存放可执行文件的目录,一般在/usr/local/bin/下面。 编译安装成功后,几个非常重要的程序会被放在这里,这些文件就是Redis服务的本体和工具集。
redis-server:这个是Redis服务器的核心程序,大名鼎鼎的Redis服务端就是它,你要启动一个Redis服务,本质上就是在命令行里运行这个redis-server程序,你可以直接运行它,使用默认配置,也可以后面跟上一个配置文件的路劲,让它根据你的定制要求来启动。redis-cli:这个是Redis的命令行客户端,你想跟Redis服务器对话,执行SET,GET这些命令,就得靠它,你可以在命令行里输入redis-cli,它就尝试连接本机默认端口(6379)的Redis服务,然后你就可以开始输入命令了,就像跟一个数据库聊天一样。redis-benchmark:这是个性能测试工具,如果你想看看你的Redis服务器在当前机器上能跑多快,吞吐量有多大,就可以用这个工具,它会模拟很多个客户端同时向Redis发送命令,然后统计出每秒能处理多少请求之类的数据,对于想了解服务器性能的人来说非常有用。redis-check-aof和redis-check-rdb:这两个是数据文件修复工具,可以看作是Redis的“医生”,Redis为了持久化数据,会把数据保存到磁盘文件里,主要有两种形式:AOF文件和RDB文件,时间长了,万一这些文件因为某种原因出错了,比如服务器突然断电导致文件损坏,Redis可能就无法正常启动了,这时候,你就可以用redis-check-aof来检查和修复AOF文件,用redis-check-rdb来检查和修复RDB文件,它们会扫描文件,尝试找出错误的地方并进行修复,很多时候能救你的数据一命。
我们聊聊配置文件目录。 Redis会期望你把配置文件放在/usr/local/etc/redis目录下,而配置文件的典型名字就是redis.conf,这个文件极其重要,它决定了Redis服务端启动时的所有行为,你可以把它想象成Redis服务器的“说明书”或“行为准则”,在这个文件里,你可以设置Redis监听的网络端口(默认是6379)、设置访问密码、配置持久化方式(决定多久把数据存一次盘、用什么格式存)、定义最大内存使用量、设置日志文件的存放位置等等,你刚开始学习的时候,可能直接./redis-server就启动了,用的都是默认配置,但一旦你要把Redis用到正式项目中,就必须和这个配置文件打交道了。
接下来是数据目录,这个目录的位置不是固定的,而是在配置文件redis.conf里由dir这个参数指定的。 默认情况下,它可能就在Redis的安装目录下,但生产环境中我们绝对会把它改到一个专门的、空间足够大的磁盘分区上,这个目录是干什么的呢?它就是用来存放我们刚才提到的那两种持久化数据文件的:RDB文件和AOF文件。
- RDB文件:你可以把它理解为某个时间点Redis内存中所有数据的一个完整快照,它是一个压缩过的二进制文件,文件名类似
dump.rdb,Redis可以根据配置,比如每隔一段时间、或者有多少个键被改变了,就自动创建一个新的RDB快照,它的特点是文件比较紧凑,恢复数据快。 - AOF文件:这个文件的全称是“Append Only File”,意思是“只追加文件”,它不像RDB那样记录快照,而是把Redis服务器接收到的每一个写命令(比如SET, DEL)都原原本本地记录下来,追加到这个文件的末尾,这样即使服务器宕机,重启后只要把AOF文件里的命令重新执行一遍,就能恢复到最后的状态,这个文件通常叫
appendonly.aof,AOF的好处是数据安全性更高,最多只会丢失一秒的数据(可以配置),但文件通常会比RDB大。
你指定的数据目录,就是这两个宝贝文件的“家”,Redis的运行日志文件(redis.log)一般也会放在这个目录,或者由配置文件中的logfile参数指定另一个路径。
源码目录本身也值得一看。 在你解压开的那个源代码根目录里,除了上面提到的README.md和INSTALL这样的说明文件,还有一些重要的子目录:
src/目录:这里存放了Redis所有核心功能的源代码,比如前面说的redis-server,redis-cli的代码都在这里,各种数据类型的实现(字符串、列表、哈希表等等)、网络通信、持久化逻辑的代码也都在这个目录下,如果你对Redis内部实现感兴趣,这里就是宝库。tests/目录:这里包含了Redis庞大的测试套件,Redis非常注重稳定性,有成千上万的测试用例来保证代码质量,这个目录对普通用户没用,但对开发者至关重要。utils/目录:这里放了一些实用的小脚本工具,比如用于创建Redis集群的脚本、用于生成日志的脚本等。
对于一个安装好的Redis,你主要需要关心三个地方:bin目录(放执行文件)、etc目录(放配置文件)、数据目录(由配置指定,放数据和日志),而源码目录则是你深入了解其工作原理的窗口。

本文由帖慧艳于2026-01-13发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/79909.html
