「这是我参与2022首次更文挑战的第16天,活动详情查看:2022首次更文挑战」
Redis配置文件深究
1、配置文件unit单位对大小写不敏感!
包含
就好比Spring、Import、include一样
网络
-
绑定的ip:
bind 127.0.0.1 -::1
-
保护模式:
protected-mode yes
- 说明:第一次使用redis是开启状态需要设置用户名密码进行校验,关闭后会跳过次步骤。
-
端口设置:
port 6379
通用GENERAL
-
以守护进程的方式运行,默认是no,我们需要自己开启为yes:
daemonize yes
-
如果以后台的方式运行,我们就需要指定一个pid文件:
pidfile /var/run/redis_6379.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 #数据库的数量,默认是16个数据库
always-show-logo no #是否总是显示logo
复制代码
快照
持久化,在规定的时间内,执行了多少次操作,则会持久化到文件(.rdb和.aof)
redis是内存数据库,如果没有持久化,那么数据断电即失!
#如果在3600s内,至少有1个 key进行了修改,我们就进行持久化操作
save 3600 1
#如果在300s内,至少有100个 key进行了修改,我们就进行持久化操作
save 300 100
#如果在60s内,至少有10000个 key进行了修改,我们就进行持久化操作
save 60 10000
复制代码
-
持久化如果出错,是否停止写入:
stop-writes-on-bgsave-error yes
-
是否压缩 rdb 文件,需要消耗一些cpu资源:
rdbcompression yes
-
保存rdb文件的时候,进行错误的检查校验:
rdbchecksum yes
-
rdb 文件保存的目录:
dir ./
REPLICATION 复制
SECURITY 安全
可以在这里设置redis的密码,默认是没有密码的!
配置文件中设置:
# requirepass foobared
requirepass 123456
复制代码
命令行设置密码:
限制 CLIENTS
-
设置能连接上redis的最大客户端的数量:
maxclients 10000 #
-
redis配置最大的内存容量:
maxmemory <bytes>
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 : 永不过期,返回错误
复制代码
APPEND ONLY MODE 模式 aof配置
-
默认是不开启aof模式的,默认是使用rdb方式持久化的:
appendonly no
-
持久化的文件的名字:
appendfilename "appendonly.aof"
-
每次修改都会sync。消耗性能:
appendfsync always
-
每秒执行一次 sync,可能会丢失这1s的数据:
appendfsync everysec
-
不执行sync,这个时候操作系统自己同步数据,速度最快:
appendfsync no
明天继续加油!