Redis配置文件解读
作用
# 将配置文件放在同级conf目录下
./redis-server ./conf/redis.config
在启动redis时,配置文件作为一个参数指定
单位
在配置文件中,单位设置不区分带小写,即1mb与1MB等意思相同
#units are case insensitive so 1GB 1Gb 1gB are all the same.
包含其他文件(INCLUDES)
将配置写在多个文件中,这是一种很好的覆盖配置的方法
#If instead you are interested in using includes to override #configuration options, it is better to use include as the last line.
include /path/to/local.conf
include /path/to/other.conf
网络配置(NETWORK)
bind 127.0.0.1
bind 明确指定可以连接redis的IP地址,比如你需要远程访问,这里就配置为服务器真实的IP地址,和protected-mode配合使用
protected-mode yes
开启保护模式,开启时若想在网络中链接redis,必须使用bind绑定的地址,同时可以设置一个password来限制
port 6379
设置开启的端口号
通用配置(GENERAL)
daemonize yes
守护进程模式,yes代表在后台运行
pidfile /var/run/redis_6479.pid
当redis作为后台进行运行时,该pid文件将被使用并锁定,防止重复开启进程副本,如果没有,redis也会正常运行
loglevel notice
日志等级
logfile “”
设置日志文件名
databases 16
设置redis的数据库数量
always-show-log yes
是否总是显示logo
快照(SNAPSHOP,RDB持久化)
因为redis是内存数据库,所以持久化在这里就是保存数据库
#间隔3600秒发生1次修改就持久化(其实就是写内容到.rdb文件)
save 3600 1
#间隔300秒发生100次修改就持久化
save 300 100
#间隔60秒发生10000次修改就持久化
save 60 10000
stop-writes-on-bgsave-error yes
即使在后台持久化时发生错误,redis仍然继续工作
rdbcompression yes
是否压缩RDB文件(持久化文件,可以理解为Redis数据库文件)
rdbchecksum yes
自从版本5之后,RDB文件最后会加一个CRC64校验码,这个配置迎来决定是否校验
dbfilename dump.rdb
dir ./
配置RDB文件的名称和保存的路径
主从复制(REPLICATION)
replicaof 127.0.0.1 6379
配置为从机(Slave),指定主机(Master)的地址和端口
masterauth master-password
若主机配置了密码,则这里需要指定主机的密码
masteruser username
若主机采用ACL配置,则需要配置username,将采用username+password的方式进行验证
安全(SECURITY)
requirepass 123456
# 或使用命令行配置
config set requirepass "123456"
# 设置之后需要先验证,才可以操作
auth 123456
两种方式设置密码,默认没有密码,但是在Redis 6之后推荐使用ACL,如果使用了ACL配置,这个密码将被忽略
客户端(CLIENTS)
maxclients 10000
最大同时连接Redis的客户端数量
内存管理(MEMORY MANAGEMENT)
maxmemory bytes
设置最大使用内存字节数
maxmemory-policy noeviction
设置内存达到设置的最大值后执行的策略,默认即为noeviction,即不删除任何数据,仅仅返回写入错误
#volatile-lru -> 对所有设置了expire的key执行LRU删除策略
#allkeys-lru -> 对所有key执行LRU策略
#volatile-lfu -> 对所有设置了expire的key执行LFU删除策略
#allkeys-lfu -> .对所有key执行LFU策略
#volatile-random -> 对所有设置了expire的key执行随机删除策略
#allkeys-random -> 对所有key执行随机删除策略
#volatile-ttl -> 根据最近到期时间选择
#noeviction -> 仅报错
#LRU means Least Recently Used(最近最少使用)
#LFU means Least Frequently Used(最少使用)
maxmemory-samples 5
设置内存达到最大之后,挑选的删除样本数量,具体如何删除,博主没有测试,这个值一般不需要修改
仅附加模式(APPEND ONLY MODE,AOF持久化)
appendonly no
默认不开启仅附加模式(AOF)
appendfilename “appendonly.aof”
设置仅附加模式下输出的文件名
appendfsync always #随时保持同步,即每一次修改都同步
appendfsync everysec #每秒同步一次
appendfsync no #不同步,由操作系统决定
AOF模式持久化的同步频率