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