Redis.conf详解

48 阅读2分钟

Redis.conf是Redis的配置文件,通过配置文件启动Redis.

单位

image.png

配置文件unit单位,对大小写不敏感!

包含

image.png

同spring的import

网络

bind 127.0.0.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)
loglevel notice

logfile ""   # 日志文件位置名

databases 16  # 数据库数量 默认16

always-show-logo no   # 是否开启logo


快照 SNAPSHOTTING

持久化 在规定的时间内,执行了多少次操作,则会持久化到文件.rdb/.aof

redis是内存数据库,如果没有持久化,那么数据断电即失

 save 3600 1
 save 300 100
 save 60 10000  # 60s内 ,如果至少有10000 key进行了修改,进行持久化操作
# 持久化操作出错,是否继续工作
stop-writes-on-bgsave-error yes
# 是否压缩rdb文件,需要消耗cpu资源
rdbcompression yes
# 保存rdb文件的时候 进行错误的检查校验
rdbchecksum yes
# rdb文件保存的目录
dir ./

主从复制 REPLICATION

安全 SECURITY(重要)

可以在此设置redis的密码,默认没有密码

  • 客户端
config get requirepass   # 获取redis密码
config set requirepass "密码"  # 设置redis密码

# 登录验证
auth 密码

限制 CLIENTS

# 设置连接redis的最大客户端数 
maxclients 10000

内存管理 MEMORY MANAGEMENT

# redis设置最大内存容量 
maxmemory <bytes>
# 内存达到上限的处理机制  移除过期的key? 报错? 
maxmemory-policy noeviction

redis.conf中的默认的过期策略是 volatile-lru

maxmemory-policy 六种方式
1volatile-lru:只对设置了过期时间的key进行LRU(默认值)
2、allkeys-lru : 删除lru算法的key
3volatile-random:随机删除即将过期key
4、allkeys-random:随机删除
5volatile-ttl : 删除即将过期的
6、noeviction : 永不过期,返回错误

APPEND ONLY MODE aof配置

# 默认不开启aof模式,默认使用rdb方式持久化,大部分场景中,rdb可以满足需求
appendonly yes
# 持久化文件名
appendfilename "appendonly.aof"
# appendfsync always  # 每次修改都会写入同步,消耗性能
appendfsync everysec   # 每秒执行一次 可能会丢失这一秒的数据
# appendfsync no    # 不同步,操作系统自己同步,速度快