文章目录
- 单位
- 包含
- 网络 NETWORK
- 通用 GENERAL
- 快照 SNAPSHOTTING
- 主从复制 REPLICATION
- 安全 SECURITY
- 客户端 CLIENTS
- 内存设置 MEMORY MANAGEMENT
- APPEND ONLY MODE 模式(aof 的配置)
单位
配置文件对大小写不敏感(unit单位)。
包含
可以把多个配置文件包含进来。
网络 NETWORK
bind 127.0.0.1 -::1 # 绑定的 ip
protected-mode yes # 保护模式
port 6379 # 端口
通用 GENERAL
daemonize yes # 是否以守护进程开启,默认为 no,
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)
# nothing (nothing is logged)
loglevel notice # 日志级别
logfile "" # 日志输出的文件位置
databases 16 # 数据库数量,默认 16 个数据库
always-show-logo no # 是否显示 logo
快照 SNAPSHOTTING
- 持久化:在规定时间内,执行了多少次操作,则会持久化到文件 .rdb & .aof。
- Redis 是内存数据库,如果没有持久化,则数据断电即失。
# Unless specified otherwise, by default Redis will save the DB:
# * After 3600 seconds (an hour) if at least 1 change was performed
# * After 300 seconds (5 minutes) if at least 100 changes were performed
# * After 60 seconds if at least 10000 changes were performed
#
# You can set these explicitly by uncommenting the following line.
#
# 如果 3600s 内,至少有 1 个 key 进行了修改,就进行持久化操作
# 如果 300s 内,至少有 100 个 key 进行了修改,就进行持久化操作
save 3600 1 300 100 60 10000
stop-writes-on-bgsave-error yes # 如果持久化出错了,Redis 是否还需要持续工作。(默认开启)
rdbcompression yes # 是否压缩 rdb 文件,需要消耗 CPU 资源
rdbchecksum yes # 保存 rdb 文件的时候,进行错误的检查校验
dir ./ # rdb 文件保存的目录
主从复制 REPLICATION
安全 SECURITY
设置 Redis 密码(默认没有密码):
127.0.0.1:6379> ping
PONG
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> exit # 需要退出重新登录才生效
(base) [src]$ ./redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> config get requirepass
(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 客户端的最大连接数
内存设置 MEMORY MANAGEMENT
maxmemory <bytes> # Redis 最大内存容量设置
# volatile-lru -> Evict using approximated LRU, only keys with an expire set.
# allkeys-lru -> Evict any key using approximated LRU.
# volatile-lfu -> Evict using approximated LFU, only keys with an expire set.
# allkeys-lfu -> Evict any key using approximated LFU.
# volatile-random -> Remove a random key having an expire set.
# allkeys-random -> Remove a random key, any key.
# volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
# noeviction -> Don't evict anything, just return an error on write operations.
maxmemory-policy noeviction # 内存达到上限后的处理策略
APPEND ONLY MODE 模式(aof 的配置)
appendonly no # 默认不开启 aof 模式,默认是使用 rdb 方式持久化的,大部分情况下 rdb 完全够用。
appendfilename "appendonly.aof" # 持久化的文件的名字
# appendfsync always # 每次修改都会同步
# appendfsync no # 不执行同步,这时候操作系统自己同步数据
appendfsync everysec # 每秒执行一次持久化数据的同步,可能会丢失者 1s 的数据