redis集群配置参数及优化

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Redis集群配置参数及优化

Redis的主要参数配置在redis.conf文件中。

1.conf 内存值

2.bind ip

默认情况下,如果没有指定“bind”配置指令,Redis将侦听服务器上可用的所有网络接口的连接。

默认情况:bind 127.0.0.1

实际配置:bind 本机ip

3.protected-mode yes

启用默认保护模式。只有当您确定您希望其他主机的客户端连接到Redis 时,您才应该禁用它,即使没有配置身份验证,也没有使用“bind”指令显式列出特定的接口集。

4.tcp-keepalive 300

如果非零,请使用SO_KEEPALIVE向没有通信的客户发送TCP协议。

这很有用,有两个原因:

a)检测死同伴

b)从中间的网络设备的角度进行连接

在Linux上,指定的值(以秒为单位)是用于发送ack的周期。

注意,要关闭连接,需要双倍的时间。这个选项的合理值是300秒,这

是新的Redis默认值,从Redis 3.2.1开始。

5.timeout 0

在客户机空闲N秒后关闭连接(0到禁用)

6.port 6379

在指定端口上接受连接,默认值是6379

7.daemonize yes

redis后台运行

8.pidfile /var/run/redis_6379.pid

如果指定了一个pid文件,Redis会在启动时指定,并在退出时删除它。

当服务器运行非守护进程时,如果配置中没有指定pid文件,则不会创建pid文件。当服务器被守护时,即使没有指定,也会使用pid文件,默认为“/var/run/redis.pid”。

创建一个pid文件是最好的工作:如果Redis不能创建它,那么服务器就会正常启动和运行。

9.loglevel notice

指定服务器冗余级别

包括:

a)debug:大量信息,用于开发/测试

b)verbose:许多很少有用的信息,但不像debug级别那样混乱

c)notice:适度详细,可能在生产中需要

d)warning:只有非常重要/关键的消息被记录

10.logfile ""

指定日志文件名。还可以使用空字符串强制Redis登录标准输出。请注意,如果您使用标准输出来记录日志,但是daemalize,日志将被发送到/dev/null。

11.databases 16

设置数据库的数量。默认数据库是DB 0,您可以使用select 在每个连接上选择一个不同的数据库,其中dbid是一个0和'databases'-1之间的数字。12.always-show-logo yes

默认情况下,Redis只显示了ASCII艺术标志,当开始记录到标准输出时,如果标准输出是TTY。基本上,这意味着通常只有在交互式会话中才会显示徽标。但是,可以强制执行4.0的行为,并且在启动日志中始终显示一个ASCII艺术标识,通过设置下面的选项为yes。

13.dbfilename dump.rdb

要转储数据库的文件名,存储文件。

14.dir ./

工作目录

将在这个目录中写入,使用“dbfilename”配置指令指定上面指定的文件名。

只在此目录中创建附加文件。

注意,您必须在这里指定一个目录,而不是文件名。

15.slaveof

主从复制。使用slaveof来让一个Redis实例复制另一个Redis服务器。

a)Redis复制是异步的;

b)如果复制链接在相对较小的时间内丢失,Redis的奴隶可以与主服务

器进行部分的重新同步。

c)复制是自动的,不需要用户干预。在网络分区后,奴隶会自动尝试

重新连接主人并与他们重新同步。

16.masterauth

如果master是密码保护的(使用下面的“requirepass”配置指令),在启动复

制同步进程之前,可以告诉奴隶进行身份验证,否则主人将拒绝奴隶请求。

17.slave-serve-stale-data yes

当一个奴隶失去与主人的联系,或当复制仍在进行时,奴隶可以采取两种不同的方式:

a)如果slave-serve-stale-data被设置为“yes”(默认),则该slave仍然会回

复客户端请求,可能是由于过时数据,或者如果这是第一次同步,

数据集可能是空的。

b)如果slave-serve-stale-data被设置为“不”,那么slave将会以“与master

同步”的错误来回复所有的命令,but to INFO and SLA VEOF。

18.slave-read-only yes

注:只读奴隶不被设计成在互联网上接触不可信的客户。它只是一个防止滥用实例的保护层。

在默认情况下,仍然只读取奴隶的导出,所有的管理命令,例如CONFIG、DEBUG等等。在一定程度上,您可以通过使用“rename-command”来对所有的管理/危险命令进行隐藏,从而提高读取的安全性。

19.repl-backlog-size 1mb

backlog是一个缓冲区

20.slave-priority 100

它被Redis Sentinel所使用,以便在主人不再正确工作的情况下,选择一个奴隶来提升为主人。

一个低优先级的奴隶被认为是更好的晋升机会,例如,如果有三个优先级为10、100、25个哨兵的奴隶将选择优先级为10的,这是最低的。然而,一个特殊的优先级0标志着奴隶不能执行主人的角色,因此,优先级为0的奴隶将永远不会被Redis Sentinel选中来提升。

默认情况下,优先级是100。

21.maxclients 10000

设置同时连接客户端的最大数量,默认情况下这个限制设置为10000个客户,一旦达到限制,Redis将关闭所有新的连接,发送错误的最大客户数。

22.maxmemory

将内存使用限制设置为指定的字节数。

如果您有附加的奴隶,建议您为maxmemory设置一个较低的限制,以便在系统上有一些空闲RAM用于输出缓冲区(但如果策略是“no驱逐”,则不需要这样做)。

23.maxmemory-policy noeviction

MAXMEMORY策略:当达到MAXMEMORY时,Redis将选择要删除的

相关文档
最新文档