Redis配置项汇总(chao详细)

2023-12-14 17:36:15

基本配置

port?6379??#?监听端口号,默认为6379,如果你设为?0?,redis?将不在?socket?上监听任何客户端连接。
daemonize?no?#指定redis是否以守护线程的方式启动
databases?16?#创建database的数量,默认为0库

save?900?1?#刷新快照到硬盘中。必须满足下列三个要求之一才会触发,即900秒内至少有1个key发生变化。
save?300?10?#在300秒内至少10个key发生变化。
save?60?10000?#在60秒之内至少有10000个可以发生变化。

stop-writes-on-bgsave-error?yes?#后台存储错误并停止写入命令。
rdbcompression?yes?#使用LZF方式压缩rdb文件。如果你想节省一些CPU可设置成'no'
rdbchecksum?yes?#在存储、加载rdb文件时进行校验。
dbfilename?dump.rdb?#设置rdb文件名。
dir?./?#设置工作目录,rdb文件会自动存放在该目录。

主从服务配置

?slaveof?<masterip>?<masterport>?#将本机设为某台机器的从服务器
masterauth?<master-password>?#连接主服务器的密码
slave-serve-stale-data?yes?#?当主机和从机断开时或这正处于在复制过程中,是否让从服务器是应答请求
slave-read-only?yes?#设置从服务器为只读模式
repl-diskless-sync?no??#是否同时向多个从服务器节点同时发数据
repl-diskless-sync-delay?5?#发送数据的延迟时间
repl-ping-slave-period?10?#主节点默认每隔?10?秒对从节点发送?ping?命令
repl-timeout?60?#主从服务器超时时间(超时认为断线了),要比period设置的时间大

#如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,
#优先值为0表示不能提升为master,一般在哨兵sentinel环境中使用。
slave-priority?100?

#在slave和master同步后,后续的同步是否设置成TCP_NODELAY,设置成no,则redis?master会立即发送同步数据,没有延迟
repl-disable-tcp-nodelay?no?
min-slaves-to-write?3?#主节点仅允许当能够通信的从节点数量大于等于此处的值时,才允许接受写操作;
min-slaves-max-lag?10?#从节点延迟时长超出此处指定的时间时,主节点会拒绝写入操作;

安全配置

?requirepass?foobared?#?用来配置密码
rename-command?CONFIG?b84?#在公共环境下重命名部分敏感命令?如config、flushall等?

限制配置

maxclients?10000?#最大连接数
maxmemory?<bytes>?#最大使用内存
maxmemory-policy?volatile-lru?#内存到极限后的处理策略

#内存处理策略,用于在超出内存限制时,删除一些key
volatile-lru?#?LRU算法删除过期key
allkeys-lru?#?LRU算法删除key(不区分过不过期)
volatile-random?#?随机删除过期key
allkeys-random?#?随机删除key(不区分过不过期)
volatile-ttl?#?删除快过期的key
noeviction?#?禁止删除key,这如果内存不足,会直接返回错误。默认配置

#用于提高LRU/TTL算法的精准度,在自动清理内存时,指定的数字越大,CPU消耗就越多,默认为5。
maxmemory-samples?5?

AOF日志模式

?appendonly?no?#是否启用日志模式
appendfsync?no?#?有系统决定何时写,统一写,速度快
appendfsync?always?#?系统不缓冲,一直写,但是慢,这种方式几乎不丢失数据
appendfsync?everysec?#每秒写1次

no-appendfsync-on-rewrite?no?#相当于将appendfsync设置为no,不存在磁盘操作,只是将数据写入了缓冲区,写入速度非常快
auto-AOF-rewrite-percentage?100?#触发aof重写操作,要求本次文件大小比上次重写时要增加1(100%)倍
auto-AOF-rewrite-min-size?64mb?#触发aof重写操作,至少要达到的aof文件大小

慢查询配置

Redis slowlog 是一个记录 Redis 执行查询命令时所耗费时间的日志系统,它仅记录执行一个查询命令所耗费的时间,不记录其他内容。

?slowlog-log-slower-than?10000?#记录响应时间大于10000微秒的慢查询
slowlog-max-len?128?#?最多记录128条

服务端命令

??time?#返回时间戳+微秒
dbsize?#返回key的数量
bgrewriteaof?#重写aof
bgsave?#后台开启子进程来执行数据持久化
save?#以阻塞的方式对数据进行持久化
lastsave?#返回最近一次?Redis?成功将数据保存到磁盘上的时间,以?UNIX?时间戳格式表示。

slaveof?host?port?#设置为host:port的从服务器(数据清空,复制新的主服务器内容)
slaveof?no?one???#变成主服务器(原数据不丢失,一般用于主服失败后)

flushdb?清空当前数据库的所有数据
flushall?清空所有数据库的所有数据

shutdown?[save/nosave]?关闭服务器,保存数据,修改AOF

slowlog?get?获取慢查询日志
slowlog?len?获取慢查询日志条数
slowlog?reset?清空慢查询

客户端命令

?#以易于理解和阅读的方式返回Redis服务器的各种信息、统计数值
info?[server|clients|memory|stats|]
config?get?[配置项]????#获取配置文件选项
config?set?[配置项]?[参数值]?#重新设置配置文件选项和对应参数
config?rewrite??#对启动Redis服务器时所指定的配置文件进行改写
config?resetstat?#重置info命令中的某些统计信息

debug?object?key?#调试选项,看一个key的情况
debug?segfault?#该命令能够让服务器崩溃
object?key?(refcount|encoding|idletime)
monitor?#调试用,打开控制台,观察命令
client?list?#列出所有连接
client?kill?#杀死某个连接?CLIENT?KILL?127.0.0.1:6379
client?getname?#获取连接的名称?默认nil
client?setname??#设置连接名称,便于调试

连接命令

auth?密码??#验证登录密码(如果设置了密码)
ping??????#测试服务器是否可用
echo?"hello?cc"?#测试服务器是否正常交互
select?0/1/2/3/4...??#选择数据库0-15
quit??#退出连接?

文章来源:https://blog.csdn.net/qq_43079001/article/details/134847487
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。