设为首页 加入收藏

TOP

Redis3.2.2--配置文件参数解释(一)
2016-12-14 08:15:06 】 浏览:455
Tags:Redis3.2.2-- 配置 文件 参数 解释

redis的默认配置文件在redis目录下,有个叫redis.conf的文件。


用配置文件启动redis命令为:


Redis支持的参数:


这里可以指定内存的大小


这里可以绑定监听一个或多个IP地址。如果注释掉,将处理所有的请求,生产环境就注释掉。


这个参数是3.2才新有的,保护模式,默认开启,如果你确定你想要从其它的主机获取redis的监听,那么你就设为NO.需要你将配置bind。


这里是监听端口,默认6379.


TCP监听的最大数,这里需要注意,如果链接过多,需要调整的话,同时需要调整/proc/sys/net/core/somaxconn下的配置,否则linux下会默认使用此配置调正到最低。


设置客户端的超时时间,单位为秒,如果客户端在此时间内没有发出新的请求,就关闭连接。默认为0就是不管它。


TCP检测,也就是说每过300秒检测一次客户端是否还有效,避免服务器长时间阻塞。


默认情况,redis服务不在后台开启,设为yes,则在后台以守护进程形式运行。


可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的。


当 Redis 在后台运行的时候, Redis 默认会把 pid(redis进程号) 文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个 redis 服务时,需要指定不同的 pid 文件和端口。


日志:Redis总共支持四个级别:debug、verbose、notice、warning。
Debug:记录很多信息,用于开发和测试;
Varbose:有用的信息,不像debug会记录那么多;
Notice:普通的verbose,常用于生产环境;
Warning:只有非常重要或者严重的信息会记录到日志;
默认是notice级别。


log的存放地址,默认为“”就是输出到控制台。


可用的数据库数量,默认为16个。可以使用 SELECT 命令来切换数据库。默认使用的数据库是 0。


设置 Redis 进行数据库镜像的频率:
900 秒后如果至少有 1 个 key 的值变化,则保存
300 秒后如果至少有 10 个 key 的值变化,则保存
60 秒后如果至少有 10000 个 key 的值变化,则保存


当持久化出现错误之后,是否继续提供写服务.


数据持久化的时候,是否压缩。


读取和写入的时候是否支持CRC64校验,默认是开启的.


镜像备份文件的文件名。


数据库镜像备份的文件放置的路径。这里的路径跟文件名要分开配置是因为 Redis 在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中。


设置该数据库为其他数据库的从数据库。
如果需要密码验证则设置密码。
当slave服务器和master服务器失去连接后,或者当数据正在复制传输的时候,如果此参数值设置“yes”,slave服务器可以继续接受客户端的请求,否则,会返回给请求的客户端如下信息“SYNC with master in progress”。


是否允许slave服务器节点只提供读服务。


主从同步支持两种策略,即disk和socket方式(socket方式尚不完善,还处于实验阶段)。
新的slave端和重连的salve端不允许去继续同步进程,这被称之为“完全同步”。
一个RDB文件从master端传到slave端,分为两种情况:
1、支持disk:master端将RDB file写到disk,稍后再传送到slave端;
2、无磁盘diskless:master端直接将RDB file传到slave socket,不需要与disk进行交互。
无磁盘diskless方式适合磁盘读写速度慢但网络带宽非常高的环境。


指定向slave同步数据时,是否禁用socket的NO_DELAY选 项。若配置为“yes”,则禁用NO_DELAY,则TCP协议栈会合并小包统一发送,这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到 slave的时间。若配置为“no”,表明启用NO_DELAY,则TCP协议栈不会延迟小包的发送时机,这样数据同步的延时会减少,但需要更大的带宽。 通常情况下,应该配置为no以降低同步延时,但在主从节点间网络负载已经很高的情况下,可以配置为yes。


设置backlog的大小,backlog是一个缓冲区,在slave端失连时存放要同步到slave的数据,因此当一个slave要重连时,经常是不需要完全同步的,执行局部同步就足够了。backlog设置的越大,slave可以失连的时间就越长。
如果一段时间后没有slave连接到master,则backlog size的内存将会被释放。如果值为0则表示永远不释放这部份内存。


当 master 不能正常工作的时候,Redis Sentinel 会从 slaves 中选出一个新的 master,这个值越小,就越会被优先选中,但是如果是 0 , 那是意味着这个 slave 不可能被选中。
设置当一个master端的可用slave少于N个,延迟时间大于M秒时,不接收写操作。


限制同时连接的客户数量。当连接数超过这个值时,redis 将不再接收其他连接请求,客户端尝试连接时将收到error 信息。默认为10000,要考虑系统文件描述符限制,不宜过大,浪费文件描述符,具体多少根据具体情况而定。


redis-cache所能使用的最大内存(bytes),默认为0,表示”无限制”,最终由OS物理内存大小决定(如果物理内存不足,有可能会使用swap)。此值尽量不要超过机器的物理内存尺寸,从性能和实施的角度考虑,可以为物理内存3/4。此配置需要和”maxmemory-policy”配合使用,当redis中内存数据达到maxmemory时,触发”清除策略”。在”内存不足”时,任何write操作(比如set,lpush等)都会触发”清除策略”的执行。在实际环境中,建议redis的所有物理机器的硬件配置保持一致(内存一致),同时确保master/slave中”maxmemory”“policy”配置一致。
当内存满了的时候,如果还接收到set 命令,redis 将先尝试剔除设置过expire 信息的key,而不管该key 的过期时间还没有到达。在删除时,
将按照过期时间进行删除,最早将要被过期的key 将最先被删除。如果带有expire 信息的key 都删光了,内存还不够用,那么将返回错误。这样,redis 将不再接收写请求,只接收get 请求。maxmemory 的设置比较适合于把redis 当作于类似memcached的缓存来使用。


最大内存策略,你有 5 个选择:


默认值5,上面LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查。


默认情况下,redis 会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁。所以redis 提供了另外一种更加高效的数据库备份及灾难恢复方式。开启append only 模式之后,redis 会把所接收到的每一次写操作请求都追加到appendonly.aof 文件中,当redis 重新启动时,会从该文件恢复出之前的状态。但是这样会造成appendonly.aof 文件过大,所以redis 还支持了BGREWRITEAOF 指令,对appendonly.aof 进行重新整理。如果不经常进行数

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MSSQL Server on Linux - Linux下.. 下一篇Oracle数据库的增、删、改、查

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目