暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redis.conf配置文件(下)

291

REDIS CLUSTER

  1. # 开启Redis Cluster模式,作为集群中的一个节点启动

  2. cluster-enabled yes

  3. # 该实例节点的集群配置文件,不要手动编辑。该文件会在该实例成为集群中的节点时自动生成。

  4. cluster-config-file nodes-6379.conf

  5. # 集群节点失效前,允许不可用的最大时长

  6. cluster-node-timeout 15000

  7. # 系数

  8. # (node-timeout * replica-validity-factor) + repl-ping-replica-period重新选举时间

  9. cluster-replica-validity-factor 10

  10. # 那些分配后仍然剩余migration barrier个从节点的主节点才会触发节点分配

  11. # 不想让集群自动触发节点分配,可以设置一个极大的值

  12. cluster-migration-barrier 1

  13. # 该参数设置为yes需要16384个slot都正常,才可以对外提供服务

  14. # 建议设置成no

  15. cluster-require-full-coverage yes

  16. # 禁止故障转移,但是仍然可以手工转移

  17. cluster-replica-no-failover no

CLUSTER DOCKER/NAT support

  1. # 设置节点信息,以便其他节点获取该节点的详细信息

  2. cluster-announce-ip 10.1.1.5

  3. cluster-announce-port 6379

  4. cluster-announce-bus-port 6380

SLOW LOG

  1. # 命令执行时间超过配置值则记录该命令

  2. # 单位:微秒,1000000微秒=1s

  3. # 该值为负数则表示禁用记录慢日志功能

  4. # 该值为0表示记录每一个命令

  5. slowlog-log-slower-than 10000

  6. # 慢查询记录的最大条数

  7. # 当超过最大条数后,最早的slowlog会被删除

  8. slowlog-max-len 128

LATENCY MONITOR

  1. # 延时监控系统,默认0ms,禁用此功能

  2. # 如果该值大于0,那么Redis会记录花费时间超过该值的操作

  3. # 该值支持在运行时通CONFISET命令动态修改

  4. latency-monitor-threshold 0

EVENT NOTIFICATION

  1. # key事件通知机制,默认值"",禁用此功能

  2. notify-keyspace-events ""

ADVANCED CONFIG

  1. # 当KEY-VALUE键值对小于512个和VALUE的长度小于64字节时 HASH类型的数据采用ZIPLIST数据结构存储

  2. # 不满足则采用DICT数据结构(HashTable)存储

  3. hash-max-ziplist-entries 512

  4. hash-max-ziplist-value 64

  5. # 负数用来表示list所占的字节数,小于该字节数时使用ZIPLIST存储,超过则使用LINKLIST存储

  6. # -1:4KB,-2:8KB,-3:16KB,-4:32KB,-5:64KB

  7. # 该值如果为正数表示元素的个数,小于该配置的数量使用ZIPLIST存储,超过则使用LINKLIST存储

  8. list-max-ziplist-size -2

  9. # 列表很长时,访问两端数据的频率高于中间的数据。该选项可以将list中间的数据节点进行压缩,节省内存空间

  10. # 0:表示不压缩,默认值

  11. # 1:表示list两端各有一个节点不压缩

  12. # 2:表示list两端各有两个节点不压缩

  13. # n:表示list两端各有n个几点不压缩

  14. list-compress-depth 0

  15. # 当set中数据均为十进制整数,并且元素个数小于配置值时采用intset存储,超过则使用hashtable存储

  16. set-max-intset-entries 512

  17. # 当元素个数小于128个和VALUE的长度小于64字节时,Sorted-Set类型的数据采用ZIPLIST数据结构存储

  18. # 不满足则采用HashTable存储

  19. zset-max-ziplist-entries 128

  20. zset-max-ziplist-value 64

  21. # 长度小于3000byte的HyperLogLog对象采用稀疏(Sparse)算法、存储效率高,但消耗CPU资源多

  22. # 不满足的采用稠密(Dense)算法

  23. # 该值超过16000几乎没有用

  24. # 建议该值为3000

  25. # 对空间要求高,CPU要求不高的可以设置到10000

  26. hll-sparse-max-bytes 3000

  27. stream-node-max-bytes 4096

  28. stream-node-max-entries 100

  29. # 开启后,Redis将会在没100ms使用1ms的CPU时间来对Redis的Hash表进行重新hash,降低内存使用

  30. # 如果使用场景,有严格的实时性要求,不能够接受Redis时不时的对请求有2ms延时,建议此项设置为no

  31. # 没有严格的实时要求,可以设置为yes,以便能够尽快的释放内存

  32. activerehashing yes

  33. # Redis服务器的输出(也就是命令的返回值)来说,大小不可控制

  34. # 有可能简单的命令返回庞大的数据;也有可能太多的命令导致产生返回数据的速率超过了回应客户端的速率。这都会造成输出缓冲区迅速膨胀,占用过多内存,甚至导致系统崩溃

  35. # Redis采用一些保护机制来避免这种情况出现。限制方式有以下两种:

  36. # 1. 大小限制:当某一个客户端的缓冲区超过设定的值时,直接关闭该客户端

  37. # 2. 持续性限制:当某一个客户端的缓冲区持续一定时间占用过大空间时,直接关闭该客户端

  38. # 可以根据客户端的类型来分,如下:

  39. # 1. normal:普通客户端设置为0,就是不进行限制

  40. # 2. replica:slave客户端,大小限制是256M,持续性限制是该客户端缓冲区大小持续60s超过64M,关闭该客户端连接

  41. # 3. pubsub:发布订阅客户端,大小限制是32M,持续性限制是该客户端缓冲区大小持续60s超过8M,关闭该客户端连接

  42. # 这三种配置支持CONFIG SET在Redis运行时动态修改

  43. client-output-buffer-limit normal 0 0 0

  44. client-output-buffer-limit replica 256mb 64mb 60

  45. client-output-buffer-limit pubsub 32mb 8mb 60

  46. # Redis服务端客户端查询缓冲区(用来保存客户端命令)的大小,超过设置值,立即关闭该客户端

  47. client-query-buffer-limit 1gb

  48. #

  49. proto-max-bulk-len 512mb

  50. # Redis Server执行后台任务的频率,默认值为10,范围1-500

  51. # 通常不建议超过100,值越大表示Redis执行后台任务的次数越频繁,建议采用默认值10

  52. # 后台任务主要包括关闭空闲超时连接、过期集合检测等

  53. hz 10

  54. # Redis 5.0版本以后加入,默认开启

  55. # 可以自适应调整hz参数,使得后台任务执行更加频繁,但是会占用更多的CPU。

  56. dynamic-hz yes

  57. # AOF文件rewrite过程是否以增量的模式进行文件同步,默认yes,不要设置为no

  58. # rewrite过程中,每产生32M数据进行一次文件同步,可以避免AOF文件提交到磁盘时出现较大的延迟

  59. aof-rewrite-incremental-fsync yes

  60. # 同理AOF文件,只不过这个是快照文件

  61. rdb-save-incremental-fsync yes

  62. #

  63. lfu-log-factor 10

  64. lfu-decay-time 1


文章转载自程序员修炼笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论