打开redis.conf文件 (从上至下)
文章目录
- 建议用 / 方式查找内容位置,阅读更香
- 头部
- INCLUDES 包含
- NETWORK 网络
- GENERAL 通用
- SNAPSHOTTING 快照(与持久化有关)
- REPLICATION 主从复制
- SECURITY 安全
- 密码的设置
- CLIENTS 限制
- MEMORY MANAGEMENT 内存管理(key过期处理)
- APPEND ONLY MODE (AOF配置)
建议用 / 方式查找内容位置,阅读更香
头部
这张图是最开始的redis的介绍和一些基本属性的配置。
然后最后一行告诉我们redis是对大小写不敏感的。
INCLUDES 包含
包含,就像我们写springboot的配置文件一样,可以写多个配置文件,通过一个包含其它,来组合成一个redis的配置文件
NETWORK 网络
里面包含的设置
bind 127.0.0.1 绑定的ip,所以如果不注释这个,只能在本地访问了
protected-mode no 默认是yes,意思是保护模式
port 6379 端口号
GENERAL 通用
里面包含的设置
daemonize no 默认是no,意思是守护进程启动,改为yes后,关闭进程,也可以在后台运行
pidfile /var/run/redis_6379.pid 如果上面那个以yes,后台方式运行,需要为redis指定一个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
#是否显示启动logo
always-show-logo yes
SNAPSHOTTING 快照(与持久化有关)
解释一下快照:与持久化有关,在规定的时间内,执行了多少次操作,则会持久化到 .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
# 是否对rdb文件进行压缩
rdbcompression yes
# 是否对rdb文件进行校验
rdbchecksum yes
# rbd保存的目录
dir ./
REPLICATION 主从复制
可以通过手动写主从复制的配置文件启动redis,做成集群。
也可以在redis的配置文件中,写好主从关系。
可以通过手动写主从复制的配置文件启动redis,做成集群。
也可以在redis的配置文件中,写好主从关系。
从Redis 2.6开始,从服务器支持只读模式,并且是默认模式。这个行为是由Redis.conf文件中的slave-read-only 参数控制的,
SECURITY 安全
密码的设置
可以在这进行密码的设置(我的配置文件在771行),不过我们一般通过命令来进行密码的设置
CLIENTS 限制
可以看到默认是一万个,最多同时有一万个客户端连接到redis上
MEMORY MANAGEMENT 内存管理(key过期处理)
836行
配置最大的内存容量,默认为byte867行
内存满了之后的处理策略
1.移除一些过期的key
2.报错
3.。。。。
# 只对设置了过期时间的key进行LRU
1. volatile-lru -> Evict using approximated LRU, only keys with an expire set.
# 删除LRU算法的key
2. allkeys-lru -> Evict any key using approximated LRU.
3. volatile-lfu -> Evict using approximated LFU, only keys with an expire set.
4. allkeys-lfu -> Evict any key using approximated LFU.
# 随机删除即将过期的key
5. volatile-random -> Remove a random key having an expire set.
# 随机删除key
6. allkeys-random -> Remove a random key, any key.
# 删除即将过期IDE
7. volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
# 永远不过期的话,那就直接报错
8. noeviction -> Don't evict anything, just return an error on write operations.
APPEND ONLY MODE (AOF配置)
1037行
包含以下设置:
appendonly no 默认是不开启aof配置的,因为默认使用rdb方式持久化,大多数情况下够用了
# aof持久化文件名字
appendfilename "appendonly.aof"
# appendfsync always # 每次修改都同步,速度最慢,消耗资源
appendfsync everysec # 默认每秒执行一次同步,但如果在这1s内宕机,将丢失这1s的数据
# appendfsync no # 不同步,由操作系统自己同步,速度最快