【Reids】配置文件详解

说明

# 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

# units are case insensitive so 1GB 1Gb 1gB are all the same.

redis.conf配置文件的开头说明了两件事情:

第一,如果你想让配置文件生效的话,就要使用这个配置文件的路径开启redis服务;

第二,内存单位并不区分大小写,比如1GB、1Gb、1gB均是可以的。

 
 

INCLUDES

include /path/to/local.conf
include /path/to/other.conf

如果有多个配置文件,就将redis.conf作为总配置文件,然后include其他配置文件。

需要注意的是,如果在配置文件的开头就include,那么引入的配置会被之后的配置覆盖。如果你想以被引入的配置为主,那么应该把include写在最后一行。

 
 

MODULES

loadmodule /path/to/my_module.so
loadmodule /path/to/other_module.so

你甚至可以引入自定义模块来为redis扩展功能!

 
 

NETWORK

# 绑定服务器IP(默认绑定的是环回地址,没被绑定的地址无法访问redis服务)
bind 127.0.0.1 ::1

# 保护模式(默认开启,无法直接被外网访问,除非绑定IP并为其设置了密码)
protected-mode yes

# 端口(指定服务开启在哪个端口上)
port 6379

# tcp已完成队列长度(TCP三次握手后。已连接(双向)的队列长度)
tcp-backlog 511

# 超时时间(客户端在超时时间内未发消息,则连接关闭;默认为0即不关闭)
timeout 0

# tcp存活时间(周期性检查客户端的存活状态)
tcp-keepalive 300

 
 

TLS/SSL

port 0
tls-port 6379

...

Redis提供对TLS/SSL加密协议的支持,TLS是更加安全的SSL。

这里对相关配置项不再赘述,可以自行搜索HTTP+TLS/SSL协议栈。

 
 

GENERAL

# Redis是否以守护进程的方式启动(默认为no)
daemonize no

# 守护进程文件路径(当Redis以守护进程方式启动时该配置才会有意义)
pidfile /var/run/redis_6379.pid

# 日志级别(debug详细日志、verbose较多日志、notice适量日志、warning仅记录关键信息)
loglevel notice

# 日志文件地址(默认为空,即打印在终端窗口上)
logfile ""

# 数据库数量(默认为16个,默认使用的是DB0,使用select命令切换)
databases 16

 
 

SNAPSHOTTING

# RDB持久化触发条件(语义是在一定时间间隔内对某个key的操作次数达到某个值时,就对其进行持久化)
save 3600 1
save 300 100
save 60 10000

# 持久化失败时是否停止接收数据(从而让用户意识到灾难的发生)
stop-writes-on-bgsave-error yes

# 是否自动压缩RDB文件(压缩后RDB文件更小,但是压缩过程需要消耗CPU)
rdbcompression yes

# 对持久化的数据是否进行CRC校验(这会增加大约10%的性能消耗)
rdbchecksum yes

# RDB文件名称
dbfilename dump.rdb

# 是否删除主从复制时创建的RDB文件(在没有开启持久化的实例中,最好将其删除)
rdb-del-sync-files no

# RDB文件存储目录
dir /usr/local/var/db/redis/

 
 

REPLICATION

# 如果当前服务器为slave,那么这里配置的就是master的IP地址和端口号
replicaof

# 如果当前服务器为slave,那么这里配置的就是master的访问密码
masterauth

# 如果当前服务器为slave,那么这里配置的就是master的用户名
masteruser

# slave是否阻塞(当正在进程主从复制时,或者slave已经失联时,该配置项会十分有意义)
replica-serve-stale-data yes

# slave是否只读(Redis默认读写分离)
replica-read-only yes

# 主从复制时是否开启无磁盘复制功能(主从复制一般是将生成的RDB存入磁盘,然后发给slave;无磁盘复制就是直接发)
repl-diskless-sync no

# 启用无磁盘复制功能后,延迟多久才会进行主从复制
repl-diskless-sync-delay 5

# 是否使用无磁盘加载
repl-diskless-load disabled

# slave心跳检测周期(默认10秒)
repl-ping-replica-period 10

# master心跳检测周期(默认60秒)
repl-timeout 60

# 是否禁用从站的tcp-nodelay(如果禁用,则每次发送的数据更少,主从复制延迟更大)
repl-disable-tcp-nodelay no

# 选举新master时,salve的优先级得分
replica-priority 100

 
 

CLIENTS

# 客户端最大连接数为10000
maxclients 10000

 
 

MEMORY MANAGEMENT

# 最大内存
maxmemory

# 内存满了之后的回收策略(默认不回收,可选LRU、random、TTL等回收思路)
maxmemory-policy noeviction

 
 

LAZY FREEING

# 因内存不足的key删除时,是否启用惰性删除
lazyfree-lazy-eviction no

# 因TTL过期的key删除时,是否启用惰性删除
lazyfree-lazy-expire no

 
 

APPEND ONLY MODE

# 是否开启AOF持久化
appendonly no

# AOF持久化频率(每个操作持久化、每秒持久化、不持久化)
appendfsync always
appendfsync everysec
appendfsync no

# AOF文件增长比例
auto-aof-rewrite-percentage 100

# 触发AOF重写的条件
auto-aof-rewrite-min-size 64mb

# 是否让AOF兼具RDB和AOF格式的特性,从而兼具两种持久化方式的优点
aof-use-rdb-preamble yes

 
 

More…

# 上面对引入、模块、网络、网络安全、通用、RDB、主从复制、客户端、内存管理、惰性删除、AOF的重要配置进行了注释
# 另外还有一些没有给出,比如键追踪、线程I/O、Lua脚本、集群、docker、nat、延迟监控、事件通知、碎片整理

# 并不是所有的Redis配置都在redis.conf中,比如哨兵模式的配置在redis-sential.conf

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

☘️ 玩转Redis专题!

🍄 不来博客里瞧一瞧吗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值