站点图标 Linux-技术共享

Redis配置文件详解

058a3a4b06d7d4ed2e0a456b3f46d7fe-1
Redis配置文件详解
基本配置

# 是否以后台进程启动
daemonize no

# 创建database的数量(默认选中的是database 0)
databases 16

Shell
RDB持久化

## bgsave 的配置,这里使用了save作为bgsave的标志;save配置可以配置多个
# 刷新快照到硬盘中,必须满足两者要求才会触发,即900秒之后至少1个关键字发生变化。
save 900 1
# 必须是300秒之后至少10个关键字发生变化
save 300 10
# 必须是60秒之后至少10000个关键字发生变化
save 60 10000

# 后台存储错误停止写
stop-writes-on-bgsave-error yes

# 使用LZF压缩rdb文件
rdbcompression yes
# 存储和加载rdb文件时进行校验
rdbchecksum yes
# 设置rdb文件名
dbfilename dump.rdb
# 设置工作目录,rdb文件会写入该目录。
dir ./
Shell
主从配置

# 设为某台机器的从服务器
slaveof  

# 连接主服务器的密码
masterauth 

# 当主从断开或正在复制中,slave服务器是否应答
slave-serve-stale-data yes

# slave服务器是否只读
slave-read-only yes

# salve节点 ping master节点的时间间隔,秒为单位
repl-ping-slave-period 10

# 主从超时时间(超时认为断线了),要比period大
repl-timeout 60

# 如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,
# 优先值为0表示不能提升为master
slave-priority 100

#主端是否合并数据,大块发送给slave
repl-disable-tcp-nodelay no
Shell
安全
# 需要密码
requirepass foobared

# 如果公共环境, 可以重命名部分敏感命令 如config
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 
Shell
限制
# 最大连接数
maxclients 10000

# 最大使用内存
maxmemory 

# 内存到极限后的处理:淘汰策略
# volatile-lru -> LRU算法删除过期key
# allkeys-lru -> LRU算法删除key(不区分过不过期)
# volatile-random -> 随机删除过期key
# allkeys-random -> 随机删除key(不区分过不过期)
# volatile-ttl -> 删除快过期的key
# noeviction -> 不删除,返回错误信息
maxmemory-policy volatile-lru


# 解释 LRU ttl都是近似算法,可以选N个,再比较最适宜T踢出的数据
maxmemory-samples 3
Shell
日志模式
# 是否仅要日志
appendonly no


### appendfsync ###
# everysec :折衷,每秒写1次
# always:系统不缓冲,直接写,慢,丢失数据少
# 系统缓冲, 统一写, 速度快
appendfsync no

# 指redis在恢复时,会忽略最后一条可能存在问题的指令。默认值yes。
# 即在aof写入时,可能存在指令写错的问题(突然断电,写了一半),这种情况下,
# yes会log并继续,而no会直接恢复失败.
aof-load-truncated yes

# 是否开启混合持久化模式4.0之后支持
aof-use-rdb-preamble yes

# 为yes,则其他线程的数据放内存里,合并写入(速度快,容易丢失的多)
no-appendfsync-on-rewrite no

# 当前aof文件是上次重写是大N%时重写
auto-AOF-rewrite-percentage 100

# aof重写至少要达到的大小
auto-AOF-rewrite-min-size 64mb

# 设置lua脚本的最大运行时间,单位为毫秒
lua-time-limit 5000

Shell
慢查询
# 记录响应时间大于10000微秒的慢查询
slowlog-log-slower-than 10000

# 最多记录128条
slowlog-max-len 128
Shell
服务端命令
# 返回时间戳+微秒
time

# 返回key的数量
dbsize

# 重写aof
bgrewriteaof  

# 后台开启子进程dump数据
bgsave

# 阻塞进程dump数据
save
lastsave

# 做host port的从服务器(数据清空,复制新主内容)
slaveof host port

# 变成主服务器(原数据不丢失,一般用于主服失败后)
slaveof no one

# 清空当前数据库的所有数据
flushdb

# 清空所有数据库的所有数据(误用了怎么办?)
# 运维会将此类命令重命名,基本处于禁用状态
flushall

# 关闭服务器,保存数据,修改AOF(如果设置)
shutdown [save/nosave]

# 获取慢查询日志
slowlog get

# 获取慢查询日志条数
slowlog len

# 清空慢查询
slowlog reset
Shell
info []

# 选项(支持*通配)
config get

# 选项 值
config set

# 把值写到配置文件
config rewrite

# 更新info命令的信息
config restart

# 调试选项,看一个key的情况
debug object key

# 模拟段错误,让服务器崩溃
debug segfault
object key (refcount|encoding|idletime)

# 打开控制台,观察命令(调试用)
monitor

# 列出所有连接
client list

# 杀死某个连接  CLIENT KILL 127.0.0.1:43501
client kill

# 获取连接的名称 默认nil
client getname

# 设置连接名称,便于调试
client setname "名称" 
Shell
连接命令

# 密码登陆(如果有密码)
auth 密码

# 测试服务器是否可用
ping

# 测试服务器是否正常交互
echo "some content"

# 选择数据库
select 0/1/2...

#退出连接
quit
退出移动版