redis配置

redis配置项

  • redis配置文件均有详细说明
  • 此处可优化和重要的选项均标出,以后用到希望我能想起来~~

主要配置项

1)bind 0.0.0.0

  • #监听地址,可以用空格隔开后多个监听IP

2)protected-mode yes

  • #redis3.2之后加入的新特性,在没有设置bind IP和密码的时候,redis只允许访问127.0.0.1:6379,远程访问将提示警告信息并拒绝远程访问

3)port 6379

  • #监听端口

4)tcp-backlog 511

  • #三次握手的时候server端收到client ack确认号之后的队列值。

5)timeout 0

  • #客户端和Redis服务端的连接超时时间,默认是0,表示永不超时。

6)tcp-keepalive 300

  • #tcp 会话保持时间

7)daemonize no

  • #认情况下redis不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成yes,当redis作为守护进程运行的时候,它会写一个pid文件里面

8)supervised no

  • #和操作系统相关参数,可以设置通过upstart和systemd管理Redis守护进程,centos7以后都使用systemd

9)pidfile “/apps/redis/run/redis_6379.pid”

  • #pid文件路径

10)loglevel notice

  • #日志级别

11)logfile “/apps/redis/logs/redis.log”

  • #日志路径

12)databases 16

  • #设置db库数量,默认16个库(0-15),使用select num 选择对应使用哪个库

13)always-show-logo yes

  • #在启动redis时是否显示log

14)save 900 1

  • #在900秒内有一个键内容发生更改就出就快照机制

15)save 300 10

16)save 60 10000

save 900 1      #900s     1个key发生变化
save 300 10     #300s    10个key发生变化
save 60 10000   #60s  10000个key发生变化

==>相当于快照的触发机制,rdb持久保存的触发机制

17)stop-writes-on-bgsave-error yes

  • #快照出错时是否禁止redis写入操作
  • 可优化选项,当快照出错时禁止redis写入,将导致业务大量出错,生成时可以改为no
redis的disk爆满时,快照出错,若redis禁止写入,将导致redis功能失效

18)rdbcompression yes

  • #持久化到RDB文件时,是否压缩,"yes"为压缩,"no"则反之

19)rdbchecksum yes

  • #是否开启RC64校验,默认是开启

20)dbfilename"redis-6379.rdb"

  • #快照文件名

21)dir “/apps/redis/data”

  • #快照文件保存路径

REPLICATION相关选项

22)replica-serve-stale-data yes

  • #当从库同主库失去连接或者复制正在进行,从机库有两种运行方式:
  • ①如果replica-serve-stale-data设置为yes(默认设置),从库会继续响应客户端的读请求。
  • ②如果replica-serve-stale-data设置为no,除去指定的命令之外的任何请求都会返回一个错误"SYNC with master in progress"。
  • 可优化选项,生成中一般改为yes

23)replica-read-only yes

  • #是否设置从库只读

24)repl-diskless-sync no

  • #是否使用socket方式复制数据(无盘同步),新slave连接连接时候需要做数据的全量同步,redis server就要从内存dump出新的RDB文件,然后从master传到slave,有两种方式把RDB文件传输给客户端:
    ①基于硬盘(disk-backed):master创建一个新进程dump RDB,RDB完成之后由父进程(即主进程)传给slaves。
    ②基于socket(diskless):master创建一个新进程直接dump RDB到slave的socket,不经过主进程,不经过硬盘。
  • 基于硬盘的话,RDB文件创建后,一旦创建完毕,可以同时服务更多的slave,但是基于socket的话, 新slave连接到master之后得逐个同步数据。
  • 注:在较慢并且网络较快的时候,可以用diskless(yes),否则使用磁盘(no)

25)repl-diskless-sync-delay 30

  • #diskless复制的延迟时间,设置0为关闭,在延迟时间内连接的新客户端,会一起通过disk方式同步数据,但是一旦复制开始还没有结束之前,master节点不会再接收新slave的复制请求,直到下一次同步开始。

26)repl-ping-slave-period 10

  • #slave根据master指定的时间进行周期性的PING 监测

27)repl-timeout 60

  • #复制连接的超时时间,需要大于repl-ping-slave-period,否则会经常报超时

28)repl-disable-tcp-nodelay no

  • #在socket模式下是否在slave套接字发送SYNC之后禁用 TCP_NODELAY,如果选择"yes"Redis将使用更少的TCP包和带宽来向slaves发送数据,但是这将使数据传输到slave上有延迟,Linux内核的默认配置会达到40毫秒,如果你选择了 "no"数据传输到salve的延迟将会减少但要使用更多的带宽。

29)repl-backlog-size 512mb

  • #复制缓冲区内存大小,只有在slave连接之后才分配内存
  • #复制缓存区内存与redis进程使用的内存并无关联

30)repl-backlog-ttl 3600

  • #多次时间master没有slave连接,就清空backlog缓冲区。

31)replica-priority 100

  • #当master不可用,Sentinel会根据slave的优先级选举一个master,最低的优先级的slave,当选master,而配置成0,永远不会被选举。

32)requirepass foobared

  • #设置redis 连接密码

33)rename-command

  • #重命名一些高危命令

34)maxclients 10000

  • #Redis最大连接客户端

35)maxmemory

  • #最大内存,单位为bytes字节,8G内存的计算方式8(G)1024(MB)1024(KB)*1024(Kbyte),需要注意的是slave的输出缓冲区是不计算在maxmemory内。
  • 注:一般redis的最大使用内存为物理内存的一半

36)appendonly no

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

37)appendfilename “appendonly.aof”

  • #AOF文件名

38)appendfsync everysec

  • #aof持久化策略的配置,no表示不执行fsync,由操作系统保证数据同步到磁盘,always表示每次写入都执行fsync,以保证数据同步到磁盘,everysec表示每秒执行一次fsync,可能会导致丢失这1s数据。

39)no-appendfsync-on-rewrite no

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

40)auto-aof-rewrite-percentage 100

  • #当Aof log增长超过指定百分比例时,重写AOF文件, 设置为0表示不自动重写Aof 日志,重写是为了使aof体积保持最小,但是还可以确保保存最完整的数据

41)auto-aof-rewrite-min-size 64mb

  • #触发aof rewrite的最小文件大小

42)aof-load-truncated yes

  • #是否加载由于其他原因导致的末尾异常的AOF文件(主进程被kill/断电等)

43)aof-use-rdb-preamble no

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

44)lua-time-limit 5000

  • #lua脚本的最大执行时间,单位为毫秒

45)cluster-enabled yes

  • #是否开启集群模式,默认是单机模式

46)cluster-config-file nodes-6379.conf

  • #由node节点自动生成的集群配置文件

47)cluster-node-timeout 15000

  • #集群中node节点连接超时时间

48)cluster-replica-validity-factor 10

  • #在执行故障转移的时候可能有些节点和master断开一段时间数据比较旧,这些节点就不适用于选举为master,超过这个时间的就不会被进行故障转移

49)cluster-migration-barrier 1

  • #集群迁移屏障,一个主节点拥有的至少正常工作的从节点,即如果主节点的slave节点故障后会将多余的从节点分配到当前主节点成为其新的从节点。

50)cluster-require-full-coverage no

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

51)slowlog-log-slower-than 10000

  • #以微秒为单位的慢日志记录,为负数会禁用慢日志,为0会记录每个命令操作。

52)slowlog-max-len 128

  • #记录多少条慢日志保存在队列,超出后会删除最早的,以此滚动删除
  • :#Slow log是Redis用来记录查询执行时间的日志系统,slow log保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启slow log而损害Redis的速度。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值