8. redis.conf主要配置详解

感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。

本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧!

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

单位

  • 配置文件util 对大小写不敏感

在这里插入图片描述

在这里插入图片描述

包含

在这里插入图片描述
就好比我们学习Spring,Import ,include

网络

在这里插入图片描述

bind 127.0.0.1    # 绑定的ip
protected-mode yes# 保护模式
port 6379# 端口设置

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

loglevel noticelogfile "" # 日志的文件位置名
databases 16# 数据库的数量,默认是 16 个数据库
always-show-logo yes #是否总是显示LOGO

快照

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

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

# 如果900s内,如果至少有一个1 key进行了修改,我们及进行持久化操作
save 900 1
# 如果300s内,如果至少10 key进行了修改,我们及进行持久化操作
save 300 10
# 如果60s内,如果至少10000 key进行了修改,我们及进行持久化操作
save 60 10000

# 我们之后学习持久化,会自己定义这个测试!

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

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

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

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

在这里插入图片描述

在这里插入图片描述

REPLICATION 复制,我们后面讲解主从复制的时候再进行讲解

slaveof <masterip> <masterport> #设为某台机器的从服务器
masterauth <master-password> #连接主服务器的密码
slave-serve-stale-data yes # 当主从断开或正在复制中,从服务器是否应答
slave-read-only yes #从服务器只读
repl-ping-slave-period 10 #从ping主的时间间隔,秒为单位
repl-timeout 60 #主从超时时间(超时认为断线了),要比period大
slave-priority 100 #如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,优先值为0表示不能提升为master。

repl-disable-tcp-nodelay no #主端是否合并数据,大块发送给slave
slave-priority 100 #从服务器的优先级,当主服挂了,会自动挑slave priority最小的为主服

SECURITY 安全

可以在这里设置redis的密码 ,默认是没有密码!

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> config get requirepass #获取redis的密码
1) "requirepass"
2) ""
127.0.0.1:6379> CONFIG SET requirepass "123456" #设置redis的密码
OK
127.0.0.1:6379> config get requirepass   # 发现所有的命令都没有权限了
(error) NOAUTH Authentication required.
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456# 使用密码进行登录!OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456

在这里插入图片描述

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 :永不过期,返回错误


APPEND ONLY MODE aof配置

在这里插入图片描述

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

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

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

更多详细配置参考

posted @ 2020-05-18 17:24  我有满天星辰  阅读(2)  评论(0编辑  收藏  举报