前言:
本文是实战性文章,带大家一起找找 dump.rdb 和 apendonly.aof 文件的路径。
redis 服务在启动时有两种方式,既可以指定配置文件,也可以不指定配置文件。
不指定 redis.config
1、加载默认配置:
可以看到,服务在启动的时候就会提醒你,没有指定配置文件,将使用默认 的配置。
值得注意的是,这里的默认配置 不需要从 redis.config 中读取。redis 内部定义了 config.c 类,其内部指定了默认值:
redis 服务在启动的时候就会从这里加载配置。
2、工作目录:
工作目录 是指 redis 存放数据文件的地方,比如 AOF、RDB 文件。
默认情况下,redis 的工作目录就是 redis-server 的启动目录 ,比如我们这的:
接着,我们先终止服务,验证数据文件生成位置:
redis 默认情况下采用的是 RDB 策略,可以看到服务终止时,生成了 dump.rdb 文件
指定 redis.config
1、加载配置:
redis 服务启动时,在其后面指定 redis.config 路径。
之后 redis 内部初始化的时候就会直接使用这套配置,忽略 config.c 的默认配置。
2、工作目录:
我们进入配置文件 /usr/local/etc/redis.conf 找到 dir 配置选项:
可以看到,这里将工作目录指定为 /usr/local/var/db/redis/ ,也就是说后续的数据文件会存到这个目录下。
redis 加载配置文件时会切换工作目录,具体是这样的:
当解析到 dir 参数时,通过系统调用 chdir 切换工作目录,相当于 cd .. 操作。
同样,先终止服务,然后看看 数据文件生成位置:
可以看到,数据存放在我们指定的工作目录 /usr/local/var/db/redis/
|