六、Redis.conf常用参数配置
启动的时候,通过redis.conf
配置文件来启动,以下的小标题都是配置文件中的部分配置
vim redis.conf
#################### XXXX ####################
xxxx部分配置
#################### yyyy ####################
yyyy部分配置
6.1 单位
- 配置文件 unit 单位对大小写不敏感
6.2 包含配置文件
- 就好比我们学习的Spring(import)、JSP(include)
6.3 网络
bind 127.0.0.1 # 绑定的IP
protected-mode yes # 保护模式
port 6379 # 端口
6.4 通用 GENERAL
daemonize yes # 以守护进程的方式运行,默认是no,需要我们自己开启yes
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 # 数据库的数量,默认是16个
always-show-logo yes # 是否总是显示logo
6.5 快照 SNAPSHOTTING
持久化,在规定的时间内,执行了多少次操作,就会持久化到文件 .rdb.aof
redis 是内存数据库,如果没有持久化,数据就会断电即失
save 900 1 # 900秒内,如果至少有1个key进行了修改,就进行持久化操作
save 300 10 # 30秒内,如果至少有10个key进行了修改,就进行持久化操作
save 60 10000 # 60秒内,如果至少有10000个key进行了修改,就进行持久化操作
stop-writes-on-bgsave-error yes # 持久化出错了,是否还需要持久化工作
rdbcompression yes # 是否压缩 rdb 文件,需要消耗一些CPU资源
rdbchecksum yes # 保存 rdb 文件的时候,进行错误的检查校验
dir ./ # rdb 文件保存的目录
6.6 REPLICATION 复制,用于主从复制
6.7 SECURITY 安全
可以设置 redis 的密码,默认是空
# 获取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> auth 123456
6.8 CLIENTS 客户端
maxclients 10000 # 设置能连接上redis的最大的客户端数量
maxmemory <bytes> # redis 配置最大的内存,默认字节
maxmemory-policy noeviction # 内存到达上限之后的内存策略
# 移除一些过期的key
1、volatile-lru:只对设置了过期时间的key进行LRU(默认值)
2、allkeys-lru : 删除lru算法的key
3、volatile-random:随机删除即将过期key
4、allkeys-random:随机删除
5、volatile-ttl : 删除即将过期的
6、noeviction : 永不过期,返回错误
6.9 APPEND ONLY MODE AOF配置
appendonly no # 默认是不开启aof模式的,默认是使用rdb方式持久化,大部分所有的情况下,rdb完全够用
appendfilename "appendonly.aof" # 持久化的名字的文件 rdb的是.rdb文件
# appendfsync always # 每次修改都会 sync,会消耗性能
appendfsync everysec # 每秒执行一次 sync同步,可能会丢失这1s的数据
# appendfsync no # 不执行 sync,这个时候操作系统自己同步数据,速度最快