zoukankan      html  css  js  c++  java
  • Redis -- 02 配置文件解析

    redis的配置文件为 redis.conf, 使用 ./redis-server /path/to/redis.conf 可以根据自定义的配置启动redis实例

    include // 引入其他配置文件, 将统一的配置放在一块,将不同的配置单独配置,然后引入相同的配置
    daemonize no  // yes为后台运行,no为控制台运行
    pidfile // pid文件的位置,由于redis可以启动多实例,每个实例要使用不同的一个pid文件,所以要指定此项
    port 6379 // 启动端口
    tcp-backlog 511  //此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。
     
    bind 127.0.0.1 // 监听的网卡 不设置的话是全部的网卡
     
    timeout 0  // 客户端无操作超时时间 0为永不超时
    tcp-keepalive 60  // 如果设置非0值,那么单位是秒,将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方建议值是60s
    loglevel notice // 指定服务器的日志类型: debug, verbose, notice, warning。 默认是notice
    logfile  // 指定日志的地方
    syslog-enabled // 是否写入系统日志
    syslog-ident  // 系统日志 类型标识
    databases 16 // 开多少个数据库 ,默认为0号数据库 , 用select 命令可以换db
    ----------------快照设置start-------------------------------
    save 60 1000   --在60s内有1000条写入就执行快照,该配置可以设置多次,满足其中一条即开始快照,一条以上就启用快照功能
    stop-writes-on-bgsave-error no   --如果快照写入失败(由于某些原因),Redis是否停止接收写操作(是或否)
    rdbcompression yes  // 是否使用LZF压缩STRING当写入rdb的时候
    rdbchecksum yes // 是否对rdb进行CRC64校验
    dir ./  -- 快照写到什么地方
    dbfilename dump.rdb   -- 内存快照的文件名
    ----------------快照设置end--------------------------------
    -----------------------AOF start---------------------------------
    appendonly no   --是否开启aof
    appendfsync everysec   -- aof文件的同步频率,取值为 always(每次写操作同步),everysec(每秒钟),no(由操作系统决定什么时候写入)
    no-appendfsync-on-rewrite no -- 是否在aof文件重写期间调用fsync
    appendfilename "appendonly.aof" // aof文件名
    auto-aof-rewrite-percentage 100 -- 指定重写aof文件的条件,超过上次rewrite文件大小的百分比
    auto-aof-rewrite-min-size 64mb --指定重写aof文件的条件,达到这个大小时才可以重写  auto-aof-rewrite-percentage  和 auto-aof-rewrite-min-size条件必须同时满足
    aof-load-truncated yes // redis在启动时可以加载被截断的AOF文件,而不需要先执行 redis-check-aof
    dir./   -- 文件所在的目录
    -----------------------AOF end----------------------------------
    -----------------------复制start----------------------------------
    slaveof $(ip) $(port) // 设置为谁的slave,将从master复制数据
    masterauth // 如果连接master 需要密码
    slave-serve-stale-data yes //  在从master复制的过程中 slave是否继续接受客户端的请求。。。 当slave服务器和master服务器失去连接后,或者当数据正在复制传输的时候,如果此参数值设置“yes”,slave服务器可以继续接受客户端的请求,否则,会返回给请求的客户端如下信息“SYNC with master in progress”
    slave-read-only yes //  slave是不是只读的
    repl-diskless-sync no // 当客户端连接master的时候,同步的方式。  如果设置为yes(无盘复制),master起一个后台进程将rdb通过socket写入slave。 如果设置为no,master起一个后台线程将rdb文件写入硬盘,然后将硬盘里的rdb文件发给slave
    repl-diskless-sync-delay 5 // 当使用无盘复制时,正在复制的时候,如果有新的slave到来了,排队,等待5s,让更多的slave一起开始下一次同步,设置为0的时候不等待
    repl-ping-slave-period 10  //salve每个10s发送PING给master
    repl-timeout 60 //复制超时时间
    repl-disable-tcp-nodelay  no // 在master和slave之间是否限制高带宽
    repl-backlog-size 1mb  // 当slave 失去连接之后,master会将命令缓存到backlog里,供slave重连的时候不需要全部同步数据,这个设置指定这个backlog的最大的大小。超出之后,slave重连时就不能不分同步了。
    repl-backlog-ttl 3600 // 当master不再连接任何slave时,backlog就可以释放了,这个配置指定了当没有slave之后多长时间开始释放。
    slave-priority 100 // slave 优先级, Sentinel会使用它作为master选举的因素。
    -----------------------复制end-----------------------------------
    ---------------------- 安全start-----------------------------------
    requirepass  // 密码
    rename-command // 命令重命名, 在一个共享环境下可以重命名相对危险的命令。比如把 CONFIG 重名为一个不容易猜测的字符
    -----------------------安全end------------------------------------
    -----------------------约束start-----------------------------------
    maxclients 10000  // 最大连接数
    maxmemory <bytes>  // redis 最大会占用多少内存
    maxmemory-policy noeviction  //  内存占用策略, 当内存不够时的内存移除策略
    -----------------------约束end------------------------------------
    -----------------------LUA 脚本start------------------------------
    lua-time-limit 5000   // 脚本超时时间  毫秒
    -----------------------LUA 脚本end-------------------------------
    -----------------------集群start-----------------------------------
    cluster-enabled yes   // 开启实例的集群能力
    cluster-config-file nodes-6379.conf  // 集群模式下,每个redis节点生成一个自己的集群配置文件,这个文件不需要人工修改,由redis自己维护。
    cluster-node-timeout 15000  // 集群模式时,当前节点在与其他节点保活探测时,多久没有响应时认为其他节点处于fail状态,上面是15秒。
    cluster-slave-validity-factor <factor> // 如果将该项设置为0,不管slave节点和master节点间失联多久都会一直尝试failover(设为正数,失联大于一定时间(factor*节点TimeOut),不再进行FailOver)。比如,如果节点的timeout设置为5秒,该项设置为10,如果master跟slave之间失联超过50秒,slave不会去failover它的master(意思是不会去把master设置为挂起状态,并取代它)。注意:任意非0数值都有可能导致当master挂掉又没有slave去failover它,这样redis集群不可用。在这种情况下只有原来那个master重新回到集群中才能让集群恢复工作。
    cluster-migration-barrier <count>: 一个master可以拥有的最小slave数量。该项的作用是,当一个master没有任何slave的时候,某些有富余slave的master节点,可以自动的分一个slave给它。
    cluster-require-full-coverage <yes/no>: 如果该项设置为yes(默认就是yes) 当一定比例的键空间没有被覆盖到(就是某一部分的哈希槽没了,有可能是暂时挂了)集群就停止处理任何查询操作。如果该项设置为no,那么就算请求中只有一部分的键可以被查到,一样可以查询(但是有可能会查不全)
    -----------------------集群end------------------------------------
    -----------------------慢查询日志start----------------------------
    slowlog-log-slower-than 10000  // 日志入口 微秒
    slowlog-max-len 128  // 日志大小限制
    -----------------------慢查询日志end-----------------------------
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 数的统计
    Java实现 蓝桥杯VIP 算法训练 和为T
    Java实现 蓝桥杯VIP 算法训练 友好数
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 暗恋
    Java实现 蓝桥杯VIP 算法训练 暗恋
    测试鼠标是否在窗口内,以及测试鼠标是否在窗口停留
    RichEdit 各个版本介绍
  • 原文地址:https://www.cnblogs.com/cookiezhi/p/5783375.html
Copyright © 2011-2022 走看看