Redis.config 配置文件详解

本文详细介绍了Redis的配置,包括RDB持久化规则、网络设置如端口和保护模式,以及安全性如密码验证。还讨论了客户端限制、主从复制和AOF模式等关键配置选项,确保数据安全和高效运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动redis时,就是通过配置文件来启动的。

RDB (Redis DateBase)配置


单位配置

关于单位的说明:

(1)当需要内存大小时,可以指定它通常采用1k 5GB 4M等形式
(2)单位对大小写不敏感。
(3)只支持字节。


 包含:

可以创建多个配置文件,最后使用  include 相对路径或绝对路径  来整合到一起。

网络 network 

非常重要,可以设置:

连接的ip地址、端口 等。


网络配置:

bind 127.0.0.1 # ip地址,如果注释掉,说明所有远程都可以访问redis,前提下边 protected-mode 改为no
protected-mode yes # 保护模式 - 只能本机访问,远程不能访问
port 6379 # 端口设置

# 超时时间(单位秒) - redis长时间未使用,如果设置超时时间,过了这个时间就不能在操作, 必须要重新连接才行,默认0,永不超时。
timeout 0

# 检测心跳的,每300秒redis会检测下,当前连接是否有效,也就是当前是否在使用redis,如果没有在使用,它会关闭连接。
tcp-keepalive 300


通用GENERAL配置:

daemonize yes # 默认情况下,Redis不作为守护进程运行(一退出进程就结束了)。如果需要,请使用“是”。
pidfile /var/run/redis_6379.pid # 如果以后台方式运行,就需要指定一个进程文件

loglevel notice # 日志级别,默认级别 生产环境
# 四个级别:
# debug 在开发中用debug会看到更详细的信息。
# verbose 类似java中的info
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)

logfile "" # 日志生产出来的文件路径

databases 16 # 数据库的数量,默认16个数据库
alwys-show-logo yes # 是否显示logo ,开启redis时的那个大logo


快照 SNAPSHOTTING配置:

持久化时用到,在规定的时间内,执行了多少次,则会持久化到文件 .rbd文件 .aof文件

下边时持久化规则:

因为redis时内存数据库,没有持久化断电即失去数据。

# 如果900秒内,如果至少有1个keyi进行了修改,我们进行持久化操作。
save 900 
# 如果300秒内,如果至少有10个keyi进行了修改,我们即进行持久化操作。
save 300 10
# 如果60秒内,如果至少有1万个keyi进行了修改,我们进行持久化操作(高并发的场景)。
save 60 10000


# 持久化如果出现错误,是否还需要工作
stop-writes-on-bgsave-error yes

# 是否压缩rdb文件(就是持久化的文件),需要消耗cpu资源
rdbcompression yes

# 报错rdb文件的时候,是否进行错误检查校验
rdbchecksum yes

# rdb持久化保存的目录
dir ./

REPLICATION 主从复制

SECURITY 安全

(1)在配置文件中设置密码:

# 在配置文件中设置密码
requirepass xxxx

(2)在命令行中设置密码:

config set  requirepass 

验证密码:

只有验证了密码,才能继续操作redis

auth password

客户端 LIMITS 限制配置

# 限制能连上redis的客户端的最大连接数量
maxclients 10000

# 配置最大的内存容量
maxmemory <bytes>


# 与上边 maxmemory <bytes> 配合使用的,内存达到上限之后的处理策略(可以移除一些过期的key)
maxmemory-policy noeviction

# 下边时6中策略
# 1、volatile-lru:只对设置了过期时间的key进行LRU(默认值)
# 2、allkeys-lru:删除LRU算法的key
# 3、volatile-random:随机删除即将过期的key
# 4、allkeys-random:随机删除
# 5、volatile-ttl:删除即将过期的
# 6、noeviction:永不过期,返回错误


 APPEND ONLY MODE 模式 aof配置

# 默认时不开启aof模式,默认使用rdb方式持久化的,在所有情况下,rdb完全够用!
appendonly no

# 持久化的文件的名字
appendfilename "appendonly.aof"

# 
# appendfsync always # 每次修改都会同步,但是性能低,速度慢
appendfsync everysec # 每秒执行一次,可能会丢失一秒的数据
# appendfsync no # 不执行,操作系统自己同步数据,速度最快

<think>我们正在回答用户关于如何使用redis.config配置文件启动Redis服务的问题。 根据引用[1]:开头便有这样一行命令,这也是十分常用的启动 Redis 方式,我们一般会将多种配置方案放在一个配置目录中,按需启动。 # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: # # ./redis-server /path/to/redis.conf 所以,启动Redis服务并指定配置文件的命令是:将配置文件的路径作为第一个参数传递给redis-server可执行文件。 具体命令格式如下: $ ./redis-server /path/to/redis.conf 注意: 1. 这里的“./redis-server”是指redis-server可执行文件的路径。如果当前目录就在redis-server所在的目录,则可以直接使用“./redis-server”;如果已经将redis-server所在目录添加到系统PATH环境变量中,也可以直接使用“redis-server”。 2. “/path/to/redis.conf”是redis.conf配置文件的绝对路径或相对路径。例如,如果配置文件在当前目录下,可以直接写“redis.conf”(相对路径)或者使用绝对路径如“/usr/server/redis/redis.conf”。 另外,引用[2]提到将Redis相关文件移动到bin目录下,这样我们可以将bin目录加入PATH,从而在任何位置都可以使用redis-server命令。 例如,如果按照引用[2]的操作,将redis-server移动到了/usr/server/redis/redis-3.0.0/bin目录下,那么可以这样启动: $ /usr/server/redis/redis-3.0.0/bin/redis-server /path/to/redis.conf 如果已经将该bin目录加入PATH,则可以直接: $ redis-server /path/to/redis.conf 引用[3]提到配置Redis开机自启动,但用户当前问题只关心如何通过配置文件启动,因此我们只回答启动命令。 总结:使用配置文件启动Redis服务的命令是: redis-server 后面加上配置文件的路径 注意:需要确保配置文件路径正确,并且有读取权限。 如果用户希望以后台服务的方式运行,通常需要在配置文件中设置“daemonize yes”,这样Redis就会以守护进程方式运行。 例如,在redis.conf中设置: daemonize yes 然后启动命令不变: redis-server /path/to/redis.conf 这样Redis就会在后台运行。 如果用户没有设置daemonize为yes,那么Redis会运行在前台,终端关闭时服务也会停止。 因此,建议在配置文件中设置daemonize为yes,然后使用上述命令启动。 根据引用[4]:我们还可以在配置文件中设置主从复制等参数,但启动命令不变。 所以,回答用户的问题:使用redis.config配置文件启动Redis服务的命令是: redis-server /path/to/redis.config 注意:通常配置文件名为redis.conf,但用户可能使用自定义名称(如redis.config),所以路径要写正确。 下面我们给出具体步骤: 步骤1:打开终端。 步骤2:输入命令:redis-server <配置文件路径> 例如:redis-server /etc/redis/redis.conf (这是常见的安装后配置文件位置) 或者,如果当前目录下有redis.configredis-server ./redis.config 步骤3:检查是否启动成功,可以使用ps命令查看进程: ps -ef | grep redis 或者查看日志文件(如果配置了logfile)。 如果启动失败,请检查配置文件路径是否正确,以及配置文件中的设置是否有误。 另外,如果Redis已经安装并且redis-server在PATH中,则可以直接使用上述命令。如果未安装,请先安装Redis。 相关问题: 1. 如何配置Redis以守护进程方式运行? 2. 如何设置Redis开机自启动? 3. Redis配置文件中有哪些重要的配置项? 4. 如何验证Redis服务已经成功启动?</think>### 在 Linux 中使用 redis.config 启动 Redis 服务的命令 在 Linux 中通过 `redis.config` 配置文件启动 Redis 服务的标准命令如下: ```bash redis-server /path/to/redis.config ``` #### 关键说明: 1. **路径要求** - 必须指定配置文件的**绝对路径**或**相对路径** - 示例: ```bash # 绝对路径示例 redis-server /etc/redis/redis.config # 相对路径示例(假设当前在配置文件目录) redis-server ./redis.config ``` 2. **权限要求** - 确保当前用户对配置文件Redis 可执行文件有读取权限 - 建议使用管理员权限执行(如 `sudo redis-server ...`) 3. **后台运行配置** 在 `redis.config` 中添加以下配置可使服务后台运行: ```conf daemonize yes # 启用守护进程模式 pidfile /var/run/redis.pid # 记录进程ID(可选) ``` 4. **验证服务状态** 启动后可通过命令检查: ```bash redis-cli ping # 应返回 "PONG" ps -ef | grep redis-server # 查看进程 ``` > **重要参考**:Redis 官方文档明确指出配置文件必须作为第一个参数传递给服务端可执行文件[^1]。如果未指定配置文件Redis 将使用内置默认配置启动。 --- ### 相关问题 1. 如何修改 Redis 配置文件中的监听端口和绑定地址? 2. Redis 以守护进程模式运行时,如何查看实时日志? 3. 配置主从复制时需要在 `redis.config` 中设置哪些关键参数? 4. 如何通过 systemd 实现 Redis 服务的开机自启? [^1]: 引用[1]:开头便有这样一行命令,这也是十分常用的启动 Redis 方式,我们一般会将多种配置方案放在一个配置目录中,按需启动。 # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: # # ./redis-server /path/to/redis.conf [^2]: 引用[2]:多个文件从src下移动到bin下(/usr/server/redis/redis-3.0.0/src下执行): mv redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/server/redis/redis-3.0.0/bin [^3]: 引用[3]:Linux CentOS7安装Redis &&指定redis.conf配置文件启动 &&配置Redis开机自启动&& 带日志输出。运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。 [^4]: 引用[4]:6-redis配置文件(redis.conf)详解。# 从库会按照一个时间间隔向主库发送 PINGs. 可以通过 repl-ping-slave-period (repl-ping-replica-period redis7.0.12版本)设置这个时间间隔,默认是 10 秒
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值