Redis配置文件

  • Redis配置文件位于解压目录下的redis.conf文件。

单位:对大小写不敏感

包含(INCLUDES):可以导入其它配置文件

模块(MODULES)

网络(NETWORK)

1
2
3
4
5
bind 127.0.0.1 # 绑定主机IP,默认值为127.0.0.1

protected-mode yes # 保护模式

port 6379 # 端口

通用(GENERAL)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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)
loglevel notice # 日志级别
logfile "" # 日志文件位置

databases 16 # 数据库的数量

always-show-logo no # 是否总是显示logo

快照(SNAPSHOTTING):在规定的时间内,执行多少次操作后将数据持久到.rdb或.aof文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 在3600秒内如果至少有1个key被修改则进行持久化操作
save 3600 1
# 在300秒内如果至少有100个key被修改则进行持久化操作
save 300 100
# 在60秒内如果至少有10000个key被修改则进行持久化操作
save 60 10000

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

rdbcompression yes # 是否压缩人rdb文件,需要消耗CPU资源

rdbchecksum yes # 保存rdb文件时进行错误检查

dbfilename dump.rdb # rdb文件名

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

主从复制(REPLICATION)

1
2
replicaof <masterip> <masterport> # 配置主节点
masterauth <master-password> # 配置主节点密码

安全(SECURITY)

1
2
3
4
5
6
7
8
9
10
11
requirepass foobared # 设置redis密码

# 还可以通过命令修改密码:config set requirepass <密码>
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
1) "requirepass"
2) "123456"

客户端(CLIENTS)

1
maxclients 10000 # 设置最多能连接redis的客户端数量

内存管理(MEMORY MANAGEMENT)

1
2
3
4
5
6
7
8
maxmemory <bytes> # 配置最大内存
maxmemory-policy noeviction # 达到最大内存后的处理策略
# volatile-lru:只对设置了过期时间的key进行LRU(默认值)
# allkeys-lru : 删除lru算法的key
# volatile-random:随机删除即将过期key
# allkeys-random:随机删除
# volatile-ttl : 删除即将过期的
# noeviction : 永不过期,返回错误

aof配置(APPEND ONLY MODE)

1
2
3
4
5
6
7
8
9
10
11
12
13
appendonly no # 默认不开启aof,仅使用rdb进行持久化,因为大部分情况下rdb完全够用

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

# appendfsync always # 每次修改都会同步,消耗性能
appendfsync everysec # 每秒执行一次同步
# appendfsync no # 不执行同步,此时由操作系统自动同步,速度最快

no-appendfsync-on-rewrite no # 在bgsave和bgrewriteaof的过程中,主线程写入AOF是否调用fsync()

auto-aof-rewrite-percentage 100 #表示当前的AOF文件大小超过上一次bgrewriteaof后AOF文件的百分比后触发bgrewriteaof

auto-aof-rewrite-min-size 64mb # 当AOF文件大于64M,则会fork一个新进程进行重写