redis集群配置参数及优化

上传人:博****1 文档编号:493937322 上传时间:2023-01-27 格式:DOCX 页数:13 大小:25.04KB
返回 下载 相关 举报
redis集群配置参数及优化_第1页
第1页 / 共13页
redis集群配置参数及优化_第2页
第2页 / 共13页
redis集群配置参数及优化_第3页
第3页 / 共13页
redis集群配置参数及优化_第4页
第4页 / 共13页
redis集群配置参数及优化_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《redis集群配置参数及优化》由会员分享,可在线阅读,更多相关《redis集群配置参数及优化(13页珍藏版)》请在金锄头文库上搜索。

1、Redis集群配置参数及优化Redis的主要参数配置在redis.conf文件中。1. conf 内存值2. bind ip默认情况下,如果没有指定“bind”配置指令,Redis将侦听服务器上可用 的所有网络接口的连接。默认情况:bind 127.0.0.1实际配置:bind本机ip3. protected-mode yes启用默认保护模式。只有当您确定您希望其他主机的客户端连接到Redis 时,您才应该禁用它,即使没有配置身份验证,也没有使用“bind”指令显式 列出特定的接口集。4. tcp-keepalive 300如果非零,请使用SO_KEEPALIVE向没有通信的客户发送TCP协议

2、。这很有用,有两个原因:a)检测死同伴b)从中间的网络设备的角度进行连接在Linux上, 指定的值(以秒为单位)是用于发送ack的周期。注意,要关闭连接,需要双倍的时间。这个选项的合理值是300秒,这是新的Redis默认值,从Redis 3.2.1开始。5. timeout 0在客户机空闲N秒后关闭连接(0到禁用)6. port 6379在指定端口上接受连接,默认值是63797. daemonize yesredis后台运行8. pidfile /var/run/redis_6379.pid如果指定了一个pid文件,Redis会在启动时指定,并在退出时删除它。当服务器运行非守护进程时,如果配置

3、中没有指定pid文件,则不会创 建pid文件。当服务器被守护时,即使没有指定,也会使用pid文件,默认为 “/var/run/redis.pid”。创建一个pid文件是最好的工作:如果Redis不能创建它,那么服务器就 会正常启动和运行。9. loglevel notice指定服务器冗余级别包括:a) debug :大量信息,用于开发/测试b) verbose:许多很少有用的信息,但不像debug级别那样混乱c) notice :适度详细,可能在生产中需要d) warning: 只有非常重要/关键的消息被记录10. logfile 指定日志文件名。还可以使用空字符串强制Redis登录标准输出。

4、请注 意,如果您使用标准输出来记录日志,但是 daemalize, 日志将被发送到 /dev/nullo11. databases 16设置数据库的数量。默认数据库是DB 0 ,您可以使用select在每个连接 上选择一个不同的数据库,其中dbid是一个0和databases-之间的数字。12. always-show-logo yes默认情况下,Redis只显示了 ASCII艺术标志,当开始记录到标准输出 时,如果标准输出是TTY。基本上,这意味着通常只有在交互式会话中才会 显示徽标。但是,可以强制执行4.0的行为,并且在启动日志中始终显示一 个ASCII艺术标识,通过设置下面的选项为yes

5、o13. dbfilename dump.rdb要转储数据库的文件名,存储文件。14. dir ./工作目录将在这个目录中写入,使用“dbfilename”配置指令指定上面指定的文件名。 只在此目录中创建附加文件。注意,您必须在这里指定一个目录,而不是文件名。15. slaveof 主从复制。使用slaveof来让一个 Redis实例复制另一个 Redis服务器。a) Redis复制是异步的;b) 如果复制链接在相对较小的时间内丢失,Redis的奴隶可以与主服务 器进行部分的重新同步。c) 复制是自动的,不需要用户干预。在网络分区后,奴隶会自动尝试 重新连接主人并与他们重新同步。16. mas

6、terauth 如果 master 是密码保护的(使用下面的“requirepass”配置指令),在启动复制同步进程之前,可以告诉奴隶进行身份验证,否则主人将拒绝奴隶请求。17. slave-serve-stale-data yes当一个奴隶失去与主人的联系,或当复制仍在进行时,奴隶可以采取两 种不同的方式:a)如果slave-serve-stale-data被设置为“yes”(默认),则该slave仍然会回 复客户端请求,可能是由于过时数据,或者如果这是第一次同步, 数据集可能是空的。b)如果slave-serve-stale-data被设置为“不,那么slave将会以“与 master 同

7、步”的错误来回复所有的命令,but to INFO and SLAVEOF。18. slave-read-only yes注:只读奴隶不被设计成在互联网上接触不可信的客户。它只是一个防止 滥用实例的保护层。在默认情况下,仍然只读取奴隶的导出,所有的管理命令,例如CONFIG、 DEBUG等等。在一定程度上,您可以通过使用“rename-command”来对所有 的管理/危险命令进行隐藏,从而提高读取的安全性。19. repl-backlog-size 1mbbacklog是一个缓冲区20. slave-priority 100它被Redis Sentinel所使用,以便在主人不再正确工作的情况

8、下,选择一 个奴隶来提升为主人。一个低优先级的奴隶被认为是更好的晋升机会,例如,如果有三个优先 级为10、100、25个哨兵的奴隶将选择优先级为10的,这是最低的。然而, 一个特殊的优先级0标志着奴隶不能执行主人的角色,因此,优先级为0的 奴隶将永远不会被Redis Sentinel选中来提升。默认情况下,优先级是100。21. maxclients 10000设置同时连接客户端的最大数量,默认情况下这个限制设置为10000个 客户,一旦达到限制,Redis将关闭所有新的连接,发送错误的最大客户数。22. maxmemory 将内存使用限制设置为指定的字节数。如果您有附加的奴隶,建议您为 ma

9、xmemory 设置一个较低的限制,以便 在系统上有一些空闲RAM用于输出缓冲区(但如果策略是“no驱逐”,则不需 要这样做)。23. maxmemory-policy noevictionMAXMEMORY策略:当达到MAXMEMORY时,Redis将选择要删除的内容。volatile-lru:在键中使用近似的LRU结束设置。allkeys-lru:使用近似的LRU清除任何键。volatile-lfu:在密钥中使用近似的LFU结束设置。allkeys-lfu:使用近似的LFU清除任何密钥。volatile-random: 将一随机密钥删除,其中有一过期设置。allkeys-random:删除

10、一个随机密钥,任何密钥。volatile-ttl:删除最近过期时间的键(小TTL)noeviction:不驱逐任何东西,只返回写操作上的错误。注:LRU的意思是最近使用最少,LFU的意思是最不常用,LRU、LFU 和挥发性ttl均采用近似随机算法实现。在上面的任何一个策略中,Redis将 返回一个写操作上的错误,当没有合适的键来驱逐时。默认是:maxmemory-policy noeviction24. maxmemory-samples 5LRU、LFU和最小TTL算法不是精确的算法,而是近似算法(为了节省 内存),所以你可以对它进行调优,以达到速度或精度。对于默认的Redis将 检查5个键

11、并选择最近使用较少的键,您可以使用下面的配置指令来更改示 例的大小。注:默认的5产生足够好的结果。十分接近真实的LRU,但成本更大。 3更快,但不太准确。25. appendonly yes只追加模式aof日志开启有需要就开启,它会每次写操作都记录一条日志默认情况下,Redis会异步地转储磁盘上的数据集。这种模式在许多应用 程序中都很好,但是对于Redis进程或断电可能会导致几分钟的写入丢失(取 决于配置的保存点)。Append文件是一种替代持久性模式,它提供了更好的持久性。AOF和RDB持久性可以同时启用,没有问题。如果在启动Redis上启用了 AOF,则会加载AOF,这是具有更好的耐久 性

12、保证的文件。appendfilename appendonly.aof26. appendfsync everysecfsync ()调用告诉操作系统在磁盘上实际写入数据,而不是等待输出缓冲 区中的更多数据。有些操作系统会在磁盘上刷新数据,有些操作系统会尽快处理。Redis支持三种不同的模式:no:不要fsync,只需让操作系统在需要的时候刷新数据。Fasteralways:fsync每次写完后只添加日志。Slow, Safesteverysec:fsync 每秒钟一次。Compromise默认的是 “everysec”, 因为这通常是速度和数据安全之间的正确折衷。由 你理解如果你能放松这个“

13、不”字,让操作系统刷新输出缓冲区时,为了更好的 表现(但是如果你可以忍受一些数据丢失的想法考虑默认快照的持久性模式), 或相反,使用“always”非常缓慢但比” everysec” 更安全一点。如果不确定,就用 “everysec”。27. no-appendfsync-on-rewrite no如果您有延迟问题,请将其转换为yes。否则,从持久性的角度来看, 设置为no”是最安全的选择。28. auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64 mb自动重写附加文件Redis能够自动地重写日志文件,当AOF日志大小以指定的

14、百分比增长 时,隐式地调用BGREWRITEAOFo工作方式:Redis记得在最近一次重写后的AOF文件的大小(如果在重启 后没有重写,那么在启动时AOF的大小就会被使用)。此基础大小与当前大小比较。如果当前的大小大于指定的百分比,则会 触发重写。您还需要为AOF文件指定一个最小的大小来重写,这对于避免重 写AOF文件是很有用的,即使增加了百分比,但是它仍然很小。指定一个百分比为零,以禁用自动的重写功能。29. aof-load-truncated yes在Redis启动过程中,当AOF数据被加载回内存时,可能会发现AOF 文件被截断。如果将aof-load-truncated设置为yes,将

15、加载一个被截断的AOF文件, 而Redis服务器将开始发出日志以通知用户该事件。否则,如果选项被设置 为no,服务器会以错误中止并拒绝启动。当选项设置为no时,用户需要在 重新启动服务器之前使用“redis-checkaof”工具修复AOF文件。注意,如果在中间发现AOF文件被损坏,服务器仍然会以错误退出。此 选项只适用于Redis将尝试从AOF文件读取更多数据,但不会找到足够的字 节。30. cluster-enabled yes开启集群31. cluster-config-file nodes-6379.conf每个集群节点都有一个集群配置文件。它是由Redis节点自动创建和更 新的。每个Redis集群节点都需要一个不同的集群配置文件。注:确保在同一系统中运行的实例没有重叠的集群配置文件名。集群的 配置,配置文件首次启动自动生成。32. cluster-node-timeout 5000群集节点超时是指节点在失败状态下必须不可到达的毫秒数。大多数其 他内部时间限制是节点超时的倍数。注:请求超时,设置5秒够了。33. cluster-require-f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号