Redis主要配置

# v.6.0.10

################################## NETWORK 网络 #####################################

# ============ 1 :nu 69 =============
# 监听地址,可以用空格隔开同时监听我个Ip,如果不设置或设置为0.0.0.0则表示接收所有的请求
bind 127.0.0.1 


# ============ 2 :nu 88 =============
# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode yes 


# ============ 3 :nu 92 =============
# redis监听的端口号
port 6379 


# ============ 4 :nu 101 =============
# 此参数确定了TCP连接中已完成队列(完成三次握手之后)的队列值
tcp-backlog 511 


# ============ 5 :nu 113 =============
# 客户端和Redis服务端的连接超时时间,默认是0,表示永不超时
timeout 0


# ============ 6 :nu 130 =============
# tcp会话保持时间
tcp-keepalive 300


################################# GENERAL 通用 #####################################

# ============ 7 :nu 136 =============
# 是否作为守护进程运行Redis服务,如果你想让它在后台运行,就把它改成yes,
# 当redis作为守护进程运行的时候,它会写一个Pid到/var/run/redis.pid文件里。
daemonize yes 


# ============ 8 :nu 147 =============
# 和操作系统相关的参数,可以设置通过upstart和systemd管理Redis守护进程,centos7以后都使用systemd
supervised no


# ============ 9 :nu 158 =============
# pid文件路径
pidfile /www/server/redis/redis.pid 


# ============ 10 :nu 166 =============
# 日志级别
# debug:会打印出很多信息,适用于开发和测试阶段
# verbose(冗长的):包含很多不太有用的信息,但比debug要清爽一些
# notice:适用于生产模式
# warning : 警告信息
loglevel notice


# ============ 11 :nu 171 =============
# 日志文件存放路径
logfile "/www/server/redis/redis.log"


# ============ 12 :nu 186 =============
# 设置redis db库的数量, 默认为16个库 0 -15
databases 16


# ============ 13 :nu 194 =============
# 在启动Redis时,日志中是否记录logo
always-show-logo yes


################################ SNAPSHOTTING RDB快照  ################################

# ============ 14 :nu 218 =============
# 设置快照机制
save 900 1		# 900秒内有1个key发生变化,做一次持久化
save 300 10		# 300秒内有10个key发生变化,做一次持久化
save 60 10000	# 60秒内有10000个key发生变化,做一次持久化


# ============ 15 :nu 235 =============
# 快照出错时,是否禁止Redis 写入操作
stop-writes-on-bgsave-error yes


# ============ 16 :nu 241 =============
# 持久化到RDB文件时,是否压缩,yes为压缩,no不压缩
rdbcompression yes


# ============ 17 :nu 250 =============
# 是否开启RC64校验(校验文件的完整性),默认开启
rdbchecksum yes


# ============ 18 :nu 253 =============
# 设置RDB文件名
dbfilename dump.rdb


# ============ 19 :nu 263 =============
# 快照文件保存路径
dir /www/server/redis/


################################# REPLICATION 主从复制 #################################

# ============ 20 :nu 286 =============
# replicaof <masterip> <masterport>


# ============ 21 :nu 293 =============
# masterauth <master-password>


# ============ 22 :nu 308 =============
# 当从库同主库失去连接或复制正在进行,从库有两种运行方式:
# 1. 如果replica-serve-stale-data设为yes(默认设置),从库从继续响应客户端的请求。
# 2. 如果replica-serve-stale-data设为no,除去指定命令之外的任何请求都返回错误"SYNC with master in progress"。
replica-serve-stale-data yes


# ============ 23 :nu 324 =============
# 是否设置从库为只读,如果设置为no,容易出现主从数据不一致的情况
replica-read-only yes


# ============ 24 :nu 355 =============
# 是否使用socket方式复制数据(无盘同步),新slave连接时候需要做数据的全量同步,redis server 就要从内存dump出新的RDB文件,然后从master传到slave,有两种方式把RDB文件传输给客户端:
# 1. 基于硬盘(disk-backed): master创建一个新进程dump RDB,RDB完成之后由父进程(即主进程)传给slave。
# 2. 基于socket(diskless): master创建一个新进程直接dump RDB到slave的socket,不经过主进程,不经过硬盘。
# 在硬盘较慢并且网络较快的时候,可以用diskless(yes),否则使用硬盘(no)
repl-diskless-sync no


# ============ 25 :nu 367 =============
# 基于硬盘(repl-diskless-sync no)的情况下,diskless复制的延迟时间,设置0为关闭,在延迟时间内连接的新客户端,会一起通过disk方式同步数据,但是一旦复制开始还没有结束之前,master节点不会再接收新slave的复制请求,直到下一次同步开始。
repl-diskless-sync-delay 5


# ============ 26 :nu 373 =============
# slave根据master指定的时间进行周期性的PING监测 单位s
repl-ping-replica-period 10


# ============ 27 :nu 385 =============
# 复制连接的超时时间,需要大于repl-ping-replica-period,否则会经常报超时。
repl-timeout 60


# ============ 28 :nu 400 =============
# 在sokcet模式(repl-diskless-sync yes)下是否在slave套接字发送SYNC之后禁用TCP_NODELAY
# 如果选择 yes,redis将作用更少的tcp包和带宽来向slaves发送数据,但是这将使数据传输到slave上有延迟,Linux内核的默认配置会达到40毫秒。
# 如果选择 no,数据传输到salve的延迟将会减少,但会使用更多的带宽。
repl-disable-tcp-nodelay no


# ============ 29 :nu 413 =============
# 复制缓冲区内存大小,只有在slave连接之后才分配内存。
# 缓冲区的内存与redis存储内存是分开的
# 建议物理内存 / 2 = redis存储内存
repl-backlog-size 512mb


# ============ 30 :nu 426 =============
# 多长时间master没有slave连接,就清空backlog缓冲区。单位:s
repl-backlog-ttl 3600


# ============ 31 :nu 441 =============
# 当master不可用,Sentinel(哨兵)会根据slave的优先级选举一个master,最低优先级的slave,当选master,而配置成0,永远不会被选举。
# 如果多台slave优先级相同,redis内部有一套自己的选举机制。
replica-priority 100



################################## SECURITY 安全性 ###################################

# ============ 32 :nu 507 =============
# 设置redis连接密码
requirepass abc123	


# ============ 33 :nu 523 =============
# 系统命令重命名 多用于重命名高危命令 如 FLUSHALL FLUSHDB等	
rename-command FLUSHALL guanflushall


################################### CLIENTS 客户端 ####################################

# ============ 34 :nu 539 =============
# 商户端最大连接数
maxclients 10000


############################## MEMORY MANAGEMENT 内存管理 ################################

# ============ 35 :nu 566 =============
# 最在内存,单位为bytes字节
# 注意:slave的输出缓冲区是不计算在maxmemory内的。
maxmemory 2147483648


############################## APPEND ONLY MODE aof持久化 ###############################

# ============ 36 :nu 699 =============
# 是否开启AOF日志记录,默认使用rdb方式持久化,这种方式在这么多应用中已经足够用,但是redis如果中途宕机,会导致可能有几分钟的数据丢失(取决于dump数据的间隔时间),根据save策略进行持久化,Append Only File是别一种持久化方式,可以提供更好的持久化特性,Redis会把每次写入的数据在接收后都 写入appendonly.aof文件,每次启动时,Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
appendonly yes


# ============ 37 :nu 703 =============
# AOF文件名
# 存放路径于 RDB文件相同
appendfilename "appendonly.aof"


# ============ 38 :nu 729 =============
# AOF持久化策略的配置
# no 		表示不执行fsync,由操作系统保证数据同步到磁盘。
# always 	表示每次写入都执行fsync,以保证数据同步到磁盘。
# everysec。	表示每秒执行一次fsync,可能会导致丢失1s数据,默认使用everysec。
# appendfsync always
appendfsync everysec
# appendfsync no


# ============ 39 :nu 751 =============
# 在AOF rewrite期间,是否对aof新记录的append暂缓使用文件同步策略,主要考虑磁盘IO开支和请求阻塞时间。
# 默认为no,表示“不暂缓”,新的aof记录仍然会被立即同步。
# Linux的默认fsync策略是30秒,如果为yes可能丢失30秒数据,但由于yes性能较好而且会避免出现阻塞,因此比较推荐。
no-appendfsync-on-rewrite no


# ============ 40 :nu 770 =============
# 当AOF log增长超过指定百分比例时,重写AOF文件,设置为0表示不自动重写AOF日志,重写是为了使AOF体积保持最小,但是还可以确保保存最完整的数据。
# 重写后删除无效的操作,如对同一个key进行set,del。
auto-aof-rewrite-percentage 100

# ============ 41 :nu 771 =============
# 触发AOF rewrite的最小文件大小。 (建议数据量大于百兆时开启)
auto-aof-rewrite-min-size 128mb


# ============ 42 :nu 795 =============
# 是否加载由于其他原因导致的末尾异常的AOF文件(主进程被kill/断电等)
aof-load-truncated yes


# ============ 43 :nu 806 =============
# redis4.0后新增RDB-AOF混合持久化格式。
# 在开启了这个功能后,AOF重写产生的文件将同时包含RDB格式的内容和AOF的内容。
# 其中RDB格式的内容用于记录已有的数据,而AOF格式的内容则用来记录最近发生变化的数据,这样Redis就可以同时兼有RDB持久化和AOF持久化的优点(既能够快速地生成重写文件,也能够在出问题时快速地载入数据,并且可以快速地记录下来发生过变化的数据。)
aof-use-rdb-preamble yes


################################ LUA SCRIPTING LUA脚本  ###############################

# ============ 44 :nu 824 =============
# lua脚本的最大执行时间,单位为毫秒
lua-time-limit 5000

################################ REDIS CLUSTER 集群  ###############################

# ============ 45 :nu 832 =============
# 是否开启集群模式,默认是单机模式
# cluster-enabled yes


# ============ 46 :nu 840 =============
# 集群配置文件,由node节点自动生成
# cluster-config-file nodes-6379.conf


# ============ 47 :nu 846 =============
# 集群中node节点连接超时时间,单位为毫秒
# cluster-node-timeout 15000


# ============ 48 :nu 891 =============
# 在执行故障转移的时候,可能有些节点和master断开一段时间,数据比较旧,这些节点就不适合被选举为master,超过这个时间的就不会被进行故障转移,单位为秒
# cluster-replica-validity-factor 10


# ============ 49 :nu 910 =============
# 集群迁移屏障
# 一个主节点拥有的至少正常工作的从节点,即如果主节点的slave节点故障后会将多余的从节点分配到当前主节点成功其新的从节点。
# cluster-migration-barrier 1


# ============ 50 :nu 923 =============
# 集群请求槽位全部覆盖 (整个redis集群有16384个槽位)
# 如果一个主库宕机且没有备库就会出现集群槽位不全,那么yes情况下redis集群槽位不全就不再对外提供服务,而no则可以继续使用但是会出现查询数据查不到的情况(因为有数据丢失)。
# cluster-require-full-coverage yes


################################## SLOW LOG 慢日志 ###################################
# Slow log是Redis用来记录查询执行时间的日志系统,Slow log保存在内存里,读写速度非常快,因此你可以放心地使用它,不必担心因为开启Slow log而损害Redis的速度。

# ============ 51 :nu 989 =============
# 慢日志的时间下限,超该时间的都会被记录,单位为微秒。
# 为负数会禁用慢日志,为0会记录每个命令操作。 一般不开启
slowlog-log-slower-than 10000


# ============ 52 :nu 993 =============
# 记录多少条慢日志记录,超出后会删除最早的,以此滚动删除。
# 命令: 
# 1. slowlog len 查看慢日志条数 2. slowlog get 列表出所有慢日志记录 3. slowlog reset 清空慢日志记录
slowlog-max-len 128


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值