Redis.conf详解

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

redis sentinel 设置日志保留时间 redis日志默认位置_redis

可包含多个配置文件

redis sentinel 设置日志保留时间 redis日志默认位置_redis_02

网络 Network
bind 127.0.0.1 #绑定ip
protected-mode yes # 保护模式开启
port 6379 # 端口号设置

redis sentinel 设置日志保留时间 redis日志默认位置_持久化_03

redis sentinel 设置日志保留时间 redis日志默认位置_持久化_04

通用配置 GENERAL
daemonize 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

redis sentinel 设置日志保留时间 redis日志默认位置_持久化_05


redis sentinel 设置日志保留时间 redis日志默认位置_数据_06


redis sentinel 设置日志保留时间 redis日志默认位置_数据_07


redis sentinel 设置日志保留时间 redis日志默认位置_数据_08

快照 SNAPSHOTTING

持久化操作,在规定的时间内操作了多少次,则会进行持久化操作.rdb.aof

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

# 如果900秒内,至少有 1 个key 发生了改变,就会进行持久化操作
save 900 1
# 如果300秒内,至少有 10 个key 发生了改变,就会进行持久化操作
save 300 10
# 如果60秒内,至少有 10000 个key 发生了改变,就会进行持久化操作
save 60 10000
# 之后可以编写自己的规则进行测试

stop-writes-on-bgsave-error yes # 持久化发生错误时是否继续,默认为yes继续

rdbcompression yes # 是否对持久化文件rdb进行压缩,如果压缩则会消耗cpu资源

rdbchecksum yes # 保存rdb时是否进行文件错误校验,并进行修改

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

redis sentinel 设置日志保留时间 redis日志默认位置_redis_09


redis sentinel 设置日志保留时间 redis日志默认位置_持久化_10


redis sentinel 设置日志保留时间 redis日志默认位置_持久化_11

主从复制 REPLICATION

之后更新

安全 SECURITY

可以在这里设置redis密码,redis默认是没有密码的

requirepass XXXXX # 密码设置

# 命令行设置密码
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> config get requirepass  #密码设置后没有权限访问
(error) NOAUTH Authentication required.
127.0.0.1:6379> ping 
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456  # 输入密码重新登录
OK
127.0.0.1:6379> config get requirepass # 可以访问
1) "requirepass"
2) "123456"

redis sentinel 设置日志保留时间 redis日志默认位置_持久化_12


redis sentinel 设置日志保留时间 redis日志默认位置_redis_13

客户端限制 CLIENTS

maxclients 10000 # 通过这个配置可以限制连接到redis的最大客户端(redis-cli)数量

maxmemory <bytes> # 配置最大的内存数 默认是字节

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

redis sentinel 设置日志保留时间 redis日志默认位置_redis_14


redis sentinel 设置日志保留时间 redis日志默认位置_redis_15


redis sentinel 设置日志保留时间 redis日志默认位置_redis_16

AOF 配置 APPEND ONLY MODE模式

appendonly no  # 默认不开启aof同步 ,默认是rdb

appendfilename "appendonly.aof"  # aof 文件保存名称

# appendfsync always  # 每次修改都执行一次sync , 消耗性能
appendfsync everysec  # 每秒执行一次sync(同步) , 可能贵丢失1秒的数据
# appendfsync no      # 不执行sync , 这个时候操作系统自己同步数据,速度最快

具体的持久化配置会在,redis持久化中讲解

Redis持久化

sync always # 每次修改都执行一次sync , 消耗性能
appendfsync everysec # 每秒执行一次sync(同步) , 可能贵丢失1秒的数据

appendfsync no # 不执行sync , 这个时候操作系统自己同步数据,速度最快

具体的持久化配置会在,redis持久化中讲解

## Redis持久化