1、units 单位
配置大小单位,开头定义了一些基本的度量单位,只支持 bytes,不支持bit,并且对大小写 不敏感。
2、INCLUDES 包含
类似于 Spring 配置文件,可以通过 includes 包含,redis.conf 可以作为总文件,可以包含其他文件。
3、NETWORK 网络配置
# 绑定的ip
bind 127.0.0.1# 保护模式
protected-mode yes # 默认端口
port 6379
4、GENERAL 通用
# 默认情况下,Redis 不作为守护进程运行。需要开启的话,改为 yes
daemonize yes# 可通过 upstart 和 systemd 管理 Redis 守护进程
supervised no# 以后台进程方式运行 redis,则需要指定 pid 文件
pidfile /var/run/redis_6379.pid# 日志级别
# debug(记录大量日志信息,适用于开发、测试阶段)
# verbose(较多日志信息)
# notice(适量日志信息,使用于生产环境)
# warning(仅有部分重要、关键信息才会被记录)
loglevel notice # 日志文件的位置,当指定为空字符串时,为标准输出
logfile ""# 设置数据库的数目。默认的数据库是 DB 0
databases 16# 是否总是显示logo
always-show-logo yes
5、SNAPSHOPTING 快照
# 900秒(15分钟)内至少1个 key 值改变(则进行数据库保存--持久化)
save 900 1# 300秒(5分钟)内至少 10 个 key 值改变(则进行数据库保存--持久化)
save 300 10# 60秒(1分钟)内至少 10000 个 key 值改变(则进行数据库保存--持久化)
save 60 10000# 持久化出现错误后,是否依然进行继续进行工作
stop-writes-on-bgsave-error yes # 使用压缩 rdb 文件 yes:压缩,但是需要一些 cpu 的消耗。no:不压缩,需要更多的磁盘空间
rdbcompression yes # 是否校验 rdb 文件,更有利于文件的容错性,但是在保存 rdb 文件的时候,会有大概10%的性能损耗
rdbchecksum yes # dbfilenamerdb 文件名称
dbfilename dump.rdb# dir 数据目录,数据库的写入会在这个目录。rdb、aof 文件也会写在这个目录
dir ./
6、SECURITY 安全
访问密码的查看,设置和取消
# 启动 redis
# 连接客户端# 获取密码
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""# 设置密码
127.0.0.1:6379> config set requirepass "123456"
OK
127.0.0.1:6379> ping
PONG# 退出重新登录
127.0.0.1:6379> exit
[root@localhost myredis]# redis-cli -p 6379# 再次测试提示需要输入密码
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.# 输入密码
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
7、CLIENTS 客户端
# 设置能连上 redis 的最大客户端连接数量
maxclients 10000 # redis 配置的最大内存容量
maxmemory <bytes># maxmemory-policy 内存达到上限的处理策略# volatile-lru:利用 LRU 算法移除设置过过期时间的 key。# volatile-random:随机移除设置过过期时间的 key。# volatile-ttl:移除即将过期的 key,根据最近过期时间来删除(辅以TTL)# allkeys-lru:利用 LRU 算法移除任何 key。# allkeys-random:随机移除任何 key。# noeviction:不移除任何 key,只是返回一个写错误。
maxmemory-policy noeviction
8、APPEND ONLY MODE 模式
# 是否以 append only 模式作为持久化方式,默认使用的是 rdb 方式持久化,这种方式在许多应用中已经足够用了
appendonly no # appendfilename AOF 文件名称
appendfilename "appendonly.aof" # appendfsync aof 持久化策略的配置# no 表示不执行 fsync,由操作系统保证数据同步到磁盘,速度最快。# always 表示每次写入都执行 fsync,以保证数据同步到磁盘。# everysec 表示每秒执行一次 fsync,可能会导致丢失这1s数据。
appendfsync everysec