Redis集配置参数及优化
Redis的主要参数配置在f文件中。
1.conf 内存值
2.bind ip
默认情况下,如果没有指定“历口^配置指令,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′-l之间的数字。
12.always-show-logo yes
默认情况下,Redis只显示了 ASCII艺术标志,当开始记录到标准输出 时,如果标准输出是TTY。基本上,这意味着通常只有在交互式会话中才会 显示徽标。但是,可以强制执行4.0的行为,并且在启动日志中始终显示一 个ASCII艺术标识,通过设置下面的选项为yes。
13.dbfilename dump.rdb
要转储数据库的文件名,存储文件。
14.dir ./
工作目录
将在这个目录中写入,使用“dbfilename^?置指令指定上面指定的文件名。 只在此目录中创建附加文件。
注意,您必须在这里指定一个目录,而不是文件名。
15.slaveof <masterip><masterport>
主从复制。使用slaveof来让一^个 Redis实例复制另一^个 Redis服务器。
a) Redis复制是异步的;
b)如果复制链接在相对较小的时间内丢失,Redis的奴隶可以与主服务 器进行部分的重新同步。
c) 复制是自动的,不需要用户干预。在网络分区后,奴隶会自动尝试 重新连接主人并与他们重新同步。
16.masterauth <master-password>
如果 master 是密码保护的(使用下面的“0亩咋@5广配置指令),在启动复
制同步进程之前,可以告诉奴隶进行身份验证,否则主人将拒绝奴隶请求。
17.slave-serve-stale-data yes
当一个奴隶失去与主人的联系,或当复制仍在进行时,奴隶可以采取两 种不同的方式:
a)如果slave-serve-stale-data被设置为“yes”(默认),则该slave仍然会回 复客户端请求,可能是由于过时数据,或者如果这是第一次同步, 数据集可能是空的。
b)如果slave-serve-stale-data被设置为“不,那么slave将会以“与 master 同步”的错误来回复所有的命令,but to INFO and SLAVEOF。
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 docRedis Sentinel选中来提升。
默认情况下,优先级是100。
21.maxclients 10000
设置同时连接客户端的最大数量,默认情况下这个限制设置为10000个 客户,一旦达到限制,Redis将关闭所有新的连接,发送错误的最大客户数。 22. maxmemory <bytes>
将内存使用限制设置为指定的字节数。
如果您有附加的奴隶,建议您为maxmemory设置一个较低的限制,以便 在系统上有一些
空闲RAM用于输出缓冲区(但如果策略是“no驱逐”,则不需 要这样做)。
23.maxmemory-policy noeviction
MAXMEMORY策略:当达到MAXMEMORY时,Redis将选择要删除的
内容。
volatile-lru:在键中使用近似的LRU结束设置。
allkeys-lru:使用近似的LRU清除任何键。
volatile-lfu:在密钥中使用近似的LFU结束设置。
allkeys-lfu:使用近似的LFU清除任何密钥。
volatile-random:将一个随机密钥删除,其中有一个过期设置。
allkeys-random:删除一个随机密钥,任何密钥。
volatile-ttl:删除最近过期时间的键(小TTL)
口0。讨由0口:不驱逐任何东西,只返回写操作上的错误。
注:LRU的意思是最近使用最少,LFU的意思是最不常用,LRU、LFU 和挥发性ttl均采用近似随机算法实现。在上面的任何一个策略中,Redis将 返回一个写操作上的错误,当没有合适的键来驱逐时。
默认是:maxmemory-policy noeviction
24.maxmemory-samples 5
LRU、LFU和最小TTL算法不是精确的算法,而是近似算法(为了节省 内存),所以你可以对它进行调优,以达到速度或精度。对于默认的Redis将 检查5个键并选择最近使用较少的键,您可以使用下面的配置指令来更改示 例的大小。
注:默认的5产生足够好的结果。十分接近真实的LRU,但成本更大。 3更快,但不太准确。
25.appendonly yes
只追加模式
aof日志开启有需要就开启,它会每次写操作都记录一条日志
默认情况下,Redis会异步地转储磁盘上的数据集。这种模式在许多应用 程序中都很好,但是对于Redis进程或断电可能会导致几分钟的写入丢失(取 决于配置的保存点)。
Append文件是一种替代持久性模式,它提供了更好的持久性。
AOF和RDB持久性可以同时启用,没有问题。
如果在启动Redis上启用了 AOF,则会加载AOF,这是具有更好的耐久 性保证的文件。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论