Redis.conf 文件配置详解

redis启动的时候就通过配置文件来启动!

1、单位

image-20201020120400694

配置文件 unit单位对大小写不敏感。

2、包含-INCLUDES

image-20201020121222453

就好比spring的配置文件,可以将多个配置文件配置过来。

3、网络-NETWORK

bind 127.0.0.1 # 绑定的ip

protected-mode no # 保护模式,默认是yes

port 6379 # 端口设置

4、通用-GENERAL

daemonize yes # 以守护进程的方式运行,默认是no,我们需要自己开启为yes!
pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要制定一个pid文件!

# 日志
# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably) 生产环境
# warning (only very important / critical messages are logged)
loglevel notice
logfile "" # 生成的文件名

databases 16 # 默认的数据库数量

always-show-logo yes # 是否总是显示logo

5、快照-SNAPSHOTTING

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

redis是内存数据库,如果没有持久化,那么数据断电即失!

save 900 1 # 如果900秒内,如果至少有 1 个key进行了修改,我们就进行持久化操作
save 300 10 # 如果300秒内,如果至少有 10 个key进行了修改,我们就进行持久化操作
save 60 10000 # 如果60秒内,如果至少有 10000 个key进行了修改,我们就进行持久化操作
# 我们之后学习持久化,会自己定义这个测试

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

rdbcompression yes # 是否压缩 rdb 文件,需要消耗一些cpu的资源

rdbchecksum yes # 保存rdb文件的时候,进行错误的检查校验!

dir ./ # rdb 文件保存的目录

6、REPLICATION 复制

后续再讲解。

7、安全-SECURITY

requirepass foobared # 设置密码,默认是没有密码的

#也可以使用客户端直接设置 config set requirepass "123456"
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> CONFIG set requirepass "529122" # 设置密码
OK
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> AUTH 529122 # 登录
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> CONFIG get requirepass # 获取密码
1) "requirepass"
2) "529122"

8、限制-CLIENTS

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

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

maxmemory-policy noeviction # 内存到达上限之后的处理策略
	# 1、volatile-lru:只对设置了过期时间的key进行LRU(默认值) 
	# 2、allkeys-lru : 删除lru算法的key   
	# 3、volatile-random:随机删除即将过期key   
	# 4、allkeys-random:随机删除   
	# 5、volatile-ttl : 删除即将过期的   
	# 6、noeviction : 永不过期,返回错误

9、APPEND ONLY 模式 aof配置

appendonly no # 默认不开启aof模式的,默认是使用rdb方式持久化的,在大部分情况下,rdb完全够用了

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

# appendfsync always # 每次修改都会同步(sync),消耗性能
appendfsync everysec # 每秒执行一次 sync,可能会丢失这一秒的数据
# appendfsync no # 每次修改都不会同步(sync),这个时候操作系统自己同步数据,速度最快。

Q.E.D.