打开redis.conf文件 (从上至下)


文章目录

  • 建议用 / 方式查找内容位置,阅读更香
  • 头部
  • INCLUDES 包含
  • NETWORK 网络
  • GENERAL 通用
  • SNAPSHOTTING 快照(与持久化有关)
  • REPLICATION 主从复制
  • SECURITY 安全
  • 密码的设置
  • CLIENTS 限制
  • MEMORY MANAGEMENT 内存管理(key过期处理)
  • APPEND ONLY MODE (AOF配置)


建议用 / 方式查找内容位置,阅读更香

头部

redis daemonize 的作用_redis daemonize 的作用


这张图是最开始的redis的介绍和一些基本属性的配置。

然后最后一行告诉我们redis是对大小写不敏感的。

INCLUDES 包含

redis daemonize 的作用_配置文件_02


包含,就像我们写springboot的配置文件一样,可以写多个配置文件,通过一个包含其它,来组合成一个redis的配置文件

NETWORK 网络

redis daemonize 的作用_redis_03


里面包含的设置

bind 127.0.0.1   绑定的ip,所以如果不注释这个,只能在本地访问了
protected-mode no  默认是yes,意思是保护模式
port 6379  端口号

GENERAL 通用

redis daemonize 的作用_redis daemonize 的作用_04


里面包含的设置

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 快照(与持久化有关)

redis daemonize 的作用_redis_05


解释一下快照:与持久化有关,在规定的时间内,执行了多少次操作,则会持久化到 .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 daemonize 的作用_配置文件_06


可以通过手动写主从复制的配置文件启动redis,做成集群。

也可以在redis的配置文件中,写好主从关系。

从Redis 2.6开始,从服务器支持只读模式,并且是默认模式。这个行为是由Redis.conf文件中的slave-read-only 参数控制的,

SECURITY 安全

redis daemonize 的作用_java_07

密码的设置

可以在这进行密码的设置(我的配置文件在771行),不过我们一般通过命令来进行密码的设置

redis daemonize 的作用_持久化_08


redis daemonize 的作用_redis_09

CLIENTS 限制

redis daemonize 的作用_java_10


可以看到默认是一万个,最多同时有一万个客户端连接到redis上

MEMORY MANAGEMENT 内存管理(key过期处理)

redis daemonize 的作用_java_11


836行

redis daemonize 的作用_redis daemonize 的作用_12


配置最大的内存容量,默认为byte867行

redis daemonize 的作用_java_13


内存满了之后的处理策略

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	   # 不同步,由操作系统自己同步,速度最快