美文网首页redis
redis6安装与配置详解

redis6安装与配置详解

作者: virtual灬zzZ | 来源:发表于2021-04-06 11:56 被阅读0次

    安装

    1. gcc版本问题避免

    Redis是c语言开发的。安装redis需要c语言的编译环境。

    安装redis6最主要的一点是要用GCC5以上,而CentOS7的GCC版本为4.8.x, 所以安装之前必须升级GCC(使用命令gcc --version查看版本)。

    yum -y install gcc tcl 
    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    

    查看gcc版本:

    gcc -v
    
    #scl只是临时启用,退出shell后会恢复原系统gcc版本:
    scl enable devtoolset-9 bash
    
    #如下命令表示永久启用:
    echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
    
    #查看gcc版本:
    gcc -v
    
    1. 下载
    cd /usr/local/
    wget http://download.redis.io/releases/redis-6.0.9.tar.gz
    tar -xvf redis-6.0.9.tar.gz
    mv redis-6.0.9 redis
    make
    #指定安装目录,不然就是默认安装在/usr/local/bin那里
    make PREFIX=/usr/local/redis/pack install
    
    1. 启动
     /usr/local/redis/bin/redis-server  /usr/local/redis/bin/redis.conf
    

    配置详情

    查看redis版本

    redis-server --version
    

    redis.config配置中上向下依次说明解释下

    启动方式

    #说明redis的启动方式
    #./redis-server /path/to/redis.conf
    

    单位

    #如果要配置跟内存大小相关的参数是可以这样配置
    
    # 1k => 1000 bytes
    # 1kb => 1024 bytes
    # 1m => 1000000 bytes
    # 1mb => 1024*1024 bytes
    # 1g => 1000000000 bytes
    # 1gb => 1024*1024*1024 bytes
    #
    #这些单位都是大小写不敏感的
    

    包含

    ################################## INCLUDES ###################################
    
    #包含一个或多个配置文件,通常include引入包含的配置,不能
    #被"CONFIG REWRITE"重写。另外,由于Redis总是根据最后一个
    #出现的相同的配置项的值作为配置值,所以如果我们不希望include的
    #配置覆盖了当前文件的配置,那么请把include放在当前配置文件的前面。
    #include /path/to/local.conf
    #include /path/to/other.conf
    

    网络

    ################################# NETWORK #####################################
    
    #默认情况下,如果你没有显式的指定bind参数,那么Redis将只接
    #受服务器本地回环的连接,如果你想监听网络上其它IP的连接,
    #也可以像下面这样配置一个或多个IP地址。
    
    #bind 192.168.1.100 10.0.0.1
    #bind 127.0.0.1 ::1
    
    #警告 如果要接受网络上所有机器的连接,可以配置成bind 0.0.0.0,
     #这样Redis就会接受所有IPv4地址的连接请求。在实际应用中,
     #这样是十分不安全的,不推荐这么做。
    bind 127.0.0.1
    
    #这是一层安全保护,默认情况下是yes,外部网络无法访问当前redis,
    #通常我们会在配置好bind的IP地址及访问密码(
    #后面的requirepass参数)之后,会将它重新设置主no。
    #这样网络就可以访问当前Redis了。
    protected-mode yes
    
    #指定redis的监听端口,默认端口是6379
    port 6379
    
    #此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 
    #当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,
    #默认是511。而Linux的默认参数值是128,当系统并发量大
    #并且客户端速度缓慢的时候,建议修改值大于511。
    tcp-backlog 511
    
    #指定unix socket目录
    #unixsocket /tmp/redis.sock
    
    #指定unix socket file的权限
    #unixsocketperm 700
    
    #链接空闲了多少秒之后会被链接,也就是超时时间,
    #0的话就表示永不超时
    timeout 0
    
    #每隔多少秒向客户端发送ACKs来检测客户端是否还存活着
    tcp-keepalive 300
    

    套接字安全

    ################################# TLS/SSL #####################################
    
    
    #这部分都是SSL相关的配置,默认不开启SSL,读者有兴趣自己了解一下
    #port 0
    #tls-port 6379
    #tls-cert-file redis.crt
    #tls-key-file redis.key
    #tls-dh-params-file redis.dh
    #tls-ca-cert-file ca.crt
    #tls-ca-cert-dir /etc/ssl/certs
    #tls-auth-clients no
    #tls-replication yes
    #tls-cluster yes
    #tls-protocols “TLSv1.2 TLSv1.3”
    #tls-ciphers DEFAULT:!MEDIUM
    #tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256
    #tls-prefer-server-ciphers yes
    

    通用

    ################################# GENERAL #####################################
    
    #默认情况下,Redis不会以守护进程的方式运行,
    #如果你想以守护进程运行Redis,你可以设置为yes,
    #如果你以守护进程的方式运行Redis,那么Redis将会创建
    #一个pid文件/var/run/redis.pid
    daemonize no
    
    #可以通过upstart和systemd管理Redis守护进程,这个参数是和
    #具体的操作系统相关的,它可以配置的
    #值有:no、upstart、systemd或auto。
    supervised no
    
    #以守护进程方式运行Redis时,pid文件配置,
    #默认是:/var/run/redis.pid
    pidfile /var/run/redis_6379.pid
    
    #日志记录等级,有4个可选值,debug(开发),verbose(默认值),
    # notice(生产),warning(警告)
    loglevel notice
    
    #日志文件的位置,当指定为空字符串时,为标准输出,
    #如果redis已守护进程模式运行,那么日志将会输出到/dev/null,
    #若指定了路径,日志将会输出到指定文件,默认值是""
    logfile “”
    
    #是否把日志记录到系统日志,默认是no
    syslog-enabled no
    
    #指定syslog里的日志标识,默认是redis
    syslog-ident redis
    
    #指定syslog设备(facility),必须是user或则local0到local7
    syslog-facility local0
    
    #指定数据库数量,默认是16
    databases 16
    
    #是否展示ASCII码logo,默认yes
    always-show-logo yes
    

    快照

    持久化,在规定的时间内,执行了多少次操作,则会持久化到文件 .rdb .aof。
    redis是内存数据库,如果没有持久化,那么数据断电及失

    ################################ SNAPSHOTTING  ################################
    
    #多少秒保存数据到磁盘,格式是:save 。意思是至少有
    #changes条key数据被改变时,seconds秒保存到磁盘。
    
    #默认配置:
    #如果 900s内,如果至少有 1 个 key进行了修改,就进行持久化操作
    save 900 1
    # 如果 300s内,如果至少有 10 个 key进行了修改,就进行持久化操作
    save 300 10
    # 如果 60s内,如果至少有 10000 个 key进行了修改,就进行持久化操作
    save 60 10000
    
    #默认情况下,如果 redis 最后一次的后台保存失败,redis 将
    #停止接受写操作,这样以一种强硬的方式让用户知道数据不能
    #正确的持久化到磁盘, 否则就会没人注意到灾难的发生。 
    #如果后台保存进程重新启动工作了,redis 也将自动的允许写操作。
    #默认值是yes
    # 持久化操作如果出错,是否还需要继续操作
    stop-writes-on-bgsave-error yes
    
    #当dump rdb数据库的时候,要不要进行压缩,如果你想节约CPU资源,
    #可以设置为no,但那样的话,rdb数据集将很大。默认是yes。
    #压缩rdb文件,需要消耗一些CPU资源
    rdbcompression yes
    
    #从Redis5之后,一个CRC64校验和就被存在rdb文件的尾部,
    #校验可以确认rdb文件的完整性,但是它会占用10%左右的保存或加载
    #rdb文件的资源,如果你为了让性能最大化,你可以设置为no,
    #默认是true。
    # 保存rdb文件的时候,进行错误的检查校验
    rdbchecksum yes
    
    #指定rdb文件的名称,默认是dump.rdb
    dbfilename dump.rdb
    
    #在没有持久性的情况下删除复制中使用的RDB文件,
    #通常情况下保持默认即可。
    rdb-del-sync-files no
    
    #本地数据库存放路径,默认值为./
    dir ./
    

    键的追踪

    ############################### KEYS TRACKING #################################
    
    #在使用了客户端缓存(什么是客户端缓存:
    #https://redis.io/topics/client-side-caching)的时候
    #,这里配置要追踪的key的数量,如果配置为0,则表示要追踪的
    #key的数量不受限制
    #tracking-table-max-keys 1000000
    

    安全

    redis默认是没有密码的,在安全里面可以设置密码

    ################################## SECURITY ###################################
    
    #ACL日志的最大长度,默认是128M。关于acl,详见:
    #https://redis.io/topics/acl
    acllog-max-len 128
    
    #ACL外部配置文件所在位置
    aclfile /etc/redis/users.acl
    
    #当前redis服务的访问密码,默认是不需要密码
    requirepass foobared
    

    密码设置测试


    客户端

    ################################## CLIENTS ####################################
    
    #客户端最大连接数配置默认是10000。
    #maxclients 10000
    

    内存管理

    ############################## MEMORY MANAGEMENT ################################
    
    #指定Redis最大内存限制。达到内存限制时,Redis将尝试删除
    #已到期或即将到期的Key。
    #maxmemory
    
    #volatile-lru -> 对设置了过期时间的keys适用LRU淘汰策略
    #allkeys-lru -> 对所有keys适用LRU淘汰策略
    #volatile-lfu -> 对设置了过期时间的keys适用LFU淘汰策略
    #allkeys-lfu -> 对所有keys适用LFU淘汰策略
    #volatile-random -> 对设置了过期时间的keys适用随机淘汰策略
    #allkeys-random -> 对所有keys适用随机淘汰策略
    #volatile-ttl -> 淘汰离过期时间最近的keys
    #noeviction -> 不淘汰任何key,仅对写入操作返回一个错误,
    #即永不过期
    
    #内存策略,默认是noeviction
    #maxmemory-policy noeviction
    
    #LRU,LFU,minimal TTL 算法都不是精准的算法,这里设置抽查的
    #样本数量,默认是5个样本。
    #maxmemory-samples 5
    
    #从 Redis 5 开始,默认情况下,replica 节点会忽略 maxmemory
    # 设置(除非在发生 failover 后,此节点被提升为 master 节点)。 这意味着只有 master 才会执行过期删除策略,并且 master 在删
    #除键之后会对 replica 发送 DEL 命令。
    #replica-ignore-maxmemory yes
    
    #设置过期keys仍然驻留在内存中的比重,默认是为1,表示最多
    #只能有10%的过期key驻留在内存中,该值设置的越小,那么在
    #一个淘汰周期内,消耗的CPU资源也更多,因为需要实时删除更
    #多的过期key。所以该值的配置是需要综合权衡的。
    #active-expire-effort 1
    

    惰性释放

    ############################# LAZY FREEING ####################################
    
    #针对redis内存使用达到maxmeory,并设置有淘汰策略时,在被
    #动淘汰键时,是否采用lazy free机制。因为此场景开启
    #lazy free, 可能使用淘汰键的内存释放不及时,导致
    #redis内存超用,超过maxmemory的限制。
    lazyfree-lazy-eviction no
    
    #针对设置有TTL的键,达到过期后,被redis清理删除时是
    #否采用lazyfree机制。此场景建议开启,因TTL本身是自
    #适应调整的速度。
    lazyfree-lazy-expire no
    
    #针对有些指令在处理已存在的键时,会带有一个隐式的DEL
    #键的操作。如rename命令,当目标键已存在,redis会先删除
    #目标键,如果这些目标键是一个big key,那就会引入阻塞删
    #除的性能问题。 此参数设置就是解决这类问题,建议可开启。
    lazyfree-lazy-server-del no
    
    #针对slave进行全量数据同步,slave在加载master的RDB文件前
    #,会运行flushall来清理自己的数据场景,参数设置决定是否
    #采用异常flush机制。如果内存变动不大,建议可开启。可减
    #少全量同步耗时,从而减少主库因输出缓冲区爆涨引起的内存
    #使用增长。
    replica-lazy-flush no
    
    #对于替换用户代码DEL调用的情况,也可以这样做使用
    #UNLINK调用是不容易的,要修改DEL的默认行为命令的行为
    #完全像UNLINK。
    lazyfree-lazy-user-del no
    

    线程io

    ################################ THREADED I/O #################################
    
    #IO线程组中IO线程的数量
    #io-threads 4
    
    #是否开启IO线程组,默认是不开启,想开启,可以设置为true,
    #并指定上面io-threads的数值
    #io-threads-do-reads no
    
    

    内核OOM控件

    ############################ KERNEL OOM CONTROL ##############################
    
    # 在linux上,可以再内粗溢出的时候提示 OOM杀手干掉那些进程
    #启用此功能将使Redis主动控制其所有进程的oom_score_adj值
    #,具体取决于它们的角色。 默认分数将尝试在所有其他进程之前
    #杀死后台子进程,并在主进程之前杀死副本。
    oom-score-adj no
    #当使用oom score adj时,此指令控制主进程、副本进程和后
    #台子进程使用的特定值。值的范围是-1000到1000(越高意味
    #着死亡的可能性越大)。非特权进程(不是根进程,也没有
    #CAP_SYS_资源功能)可以自由地增加它们的值,但不能将其降
    #低到初始设置以下。 当服务器启动时,使用相对于oom_score_adj
    #的初始值的值。因为通常初始值是0,所以它们通常与绝对值匹配。
    
    oom-score-adj-values 0 200 800
    
    

    AOF模式

    ############################## APPEND ONLY MODE ###############################
    #是否启用aof持久化方式 。即是否在每次更新操作后进行日志
    #记录,默认配置是no,即在采用异步方式把数据写入到磁盘,
    #如果不开启,可能会在断电时导致部分数据丢失。大部分情况
    #下 rdb完全够用了
    appendonly no
    
    #更新日志文件名,默认为appendonly.aof
    appendfilename “appendonly.aof”
    
    #aof文件刷新的频率。有三种:
    #1.no 依靠OS进行刷新,redis不主动刷新AOF,这样最快,
    #但安全性就差。
    #2.always 每提交一个修改命令都调用fsync刷新到AOF文件,
    #非常非常慢,但也非常安全。
    #3.everysec 每秒钟都调用fsync刷新到AOF文件,很快,
    #但可能会丢失一秒以内的数据。
    # appendfsync always
    appendfsync everysec
    # appendfsync no
    
    
    #指定是否在后台aof文件rewrite期间调用fsync,默认为no,
    #表示要调用fsync(无论后台是否有子进程在刷盘)。
    #Redis在后台写RDB文件或重写AOF文件期间会存在大量磁盘IO
    #,此时,在某些linux系统中,调用fsync可能会阻塞。
    no-appendfsync-on-rewrite no
    
    #aof文件增长比例,指当前aof文件比上次重写的增长比例大小
    #。aof重写即在aof文件在一定大小之后,重新将整个内存写到
    #aof文件当中,以反映最新的状态(相当于bgsave)。这样就避免
    #了,aof文件过大而实际内存数据小的问题(频繁修改数据问题)。
    auto-aof-rewrite-percentage 100
    
    #aof文件重写最小的文件大小,即最开始aof文件必须要达到这
    #个文件时才触发,后面的每次重写就不会根据这个变量了(根据
    #上一次重写完成之后的大小).此变量仅初始化启动redis有效.
    #如果是redis恢复时,则lastSize等于初始aof文件大小。
    auto-aof-rewrite-min-size 64mb
    
    #指redis在恢复时,会忽略最后一条可能存在问题的指令。
    #默认值yes。即在aof写入时,可能存在指令写错的问题(
    #突然断电,写了一半),这种情况下,yes会log并继续,
    #而no会直接恢复失败。
    aof-load-truncated yes
    
    #在开启了这个功能之后,AOF重写产生的文件将同时包含RDB格式
    #的内容和AOF格式的内容,其中RDB格式的内容用于记录已有的数
    #据,而AOF格式的内存则用于记录最近发生了变化的数据,这样
    #Redis就可以同时兼有RDB持久化和AOF持久化的优点(既能够快
    #速地生成重写文件,也能够在出现问题时,快速地载入数据)。
    aof-use-rdb-preamble yes
    

    Lua脚本

    ################################ LUA SCRIPTING  ###############################
    
    #一个Lua脚本最长的执行时间,单位为毫秒,如果为0或负数
    #表示无限执行时间,默认为5000
    lua-time-limit 5000
    
    

    集群

    ################################ REDIS CLUSTER  ###############################
    
    #如果是yes,表示启用集群,否则以单例模式启动
    
    #cluster-enabled yes
    
    #这不是一个用户可编辑的配置文件,这个文件是Redis集群节点
    #自动持久化每次配置的改变,为了在启动的时候重新读取它
    #cluster-config-file nodes-6379.conf
    
    #超时时间,集群节点不可用的最大时间。如果一个master节点
    #不可到达超过了指定时间,则认为它失败了。注意,每一个在
    #指定时间内不能到达大多数master节点的节点将停止接受查询请求。
    #cluster-node-timeout 15000
    
    #如果设置为0,则一个slave将总是尝试故障转移一个master。
    #如果设置为一个正数,那么最大失去连接的时间是node timeout
    #乘以这个factor。
    #cluster-replica-validity-factor 10
    
    #一个master和slave保持连接的最小数量(即:最少与多少个slave
    #保持连接),也就是说至少与其它多少slave保持连接的slave才有
    #资格成为master
    #cluster-migration-barrier 1
    
    #如果设置为yes,这也是默认值,如果key space没有达到百分
    #之多少时停止接受写请求。如果设置为no,将仍然接受查询请求,
    #即使它只是请求部分key
    #cluster-require-full-coverage yes
    
    #此选项设置为yes时,可防止从设备尝试对其进行故障转移master
    #在主故障期间。 然而,仍然可以强制执行手动故障转移
    #cluster-replica-no-failover no
    
    #是否允许集群在宕机时读取
    #cluster-allow-reads-when-down no
    
    

    docker集群/NAT支持

    ########################## CLUSTER DOCKER/NAT support  ########################
    
    #宣布服务IP
    #cluster-announce-ip 10.1.1.5
    
    #宣布服务端口
    #cluster-announce-port 6379
    
    #宣布集群总线端口
    #cluster-announce-bus-port 6380
    
    

    慢查询日志

    ################################## SLOW LOG ###################################
    
    #决定要对执行时间大于多少微秒
    #(microsecond,1秒 = 1,000,000 微秒)的查询进行记录。
    slowlog-log-slower-than 10000
    
    #它决定 slow log 最多能保存多少条日志, slow log 本身是一个 
    #FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条
    #日志将被删除,而最新的一条日志加入到 slow log ,以此类推。
    slowlog-max-len 128
    
    

    延迟监控

    ################################ LATENCY MONITOR ##############################
    
    #能够采样不同的执行路径来知道redis阻塞在哪里。这使得调试各
    #种延时#问题变得简单,设置一个毫秒单位的延时阈值来开启延时监控。
    latency-monitor-threshold 0
    
    

    事件通知

    关于事件通知,详见:http://redis.io/topics/notifications

    ############################# EVENT NOTIFICATION ##############################
    
    #键事件通知,可用参数:
    #K 键空间通知,所有通知以 keyspace@ 为前缀.
    #E 键事件通知,所有通知以 keyevent@ 为前缀
    #g DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
    #$ 字符串命令的通知
    #l 列表命令的通知
    #s 集合命令的通知
    #h 哈希命令的通知
    #z 有序集合命令的通知
    #x 过期事件:每当有过期键被删除时发送
    #e 驱逐(evict)事件:每当有键因为 maxmemory 
    #策略而被删除时发送
    #A 参数 g$lshzxe 的别名
    
    notify-keyspace-events ""
    
    

    gopher服务

    关于gopher,详见:https://github.com/antirez/gopher2redis

    ############################### GOPHER SERVER #################################
    
    #开启gopher功能,默认是no(不开启),关于gopher,详见:
    #https://github.com/antirez/gopher2redis
    gopher-enabled no
    
    

    高级配置

    ############################### ADVANCED CONFIG ###############################
    
    #ziplist最大条目数
    hash-max-ziplist-entries 512
    
    #ziplist单个条目value的最大字节数
    hash-max-ziplist-value 64
    
    #ziplist列表最大值,默认存在五项:
    #-5:最大大小:64 Kb <——不建议用于正常工作负载
    #-4:最大大小:32 Kb <——不推荐
    #-3:最大大小:16 Kb <——可能不推荐
    #-2:最大大小:8 Kb<——很好
    #-1:最大大小:4 Kb <——好
    list-max-ziplist-size -2
    
    #一个quicklist两端不被压缩的节点个数。0: 表示都不压缩。
    #这是Redis的默认值,1: 表示quicklist两端各有1个节点不压缩,
    #中间的节点压缩。3: 表示quicklist两端各有3个节点不压缩,
    #中间的节点压缩。
    list-compress-depth 0
    
    #当集合中的元素全是整数,且长度不超过set-max-intset-entries
    #(默认为512个)时,redis会选用intset作为内部编码,
    #大于512用set。
    set-max-intset-entries 512
    
    #当有序集合的元素小于zset-max-ziplist-entries配置
    #(默认是128个),同时每个元素的值都小于
    #zset-max-ziplist-value(默认是64字节)时,Redis会用
    #ziplist来作为有序集合的内部编码实现,ziplist可以
    #有效的减少内存的使用。
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    
    #value大小 小于等于hll-sparse-max-bytes使用稀疏数据结构
    #(sparse),大于hll-sparse-max-bytes使用稠密的数据结构
    #(dense)
    hll-sparse-max-bytes 3000
    
    #Streams单个节点的字节数,以及切换到新节点之前可能包含的
    #最大项目数。
    stream-node-max-bytes 4096
    stream-node-max-entries 100
    
    #主动重新散列每100毫秒CPU时间使用1毫秒,以帮助重新散列主
    #Redis散列表(将顶级键映射到值)
    activerehashing yes
    
    #对客户端输出缓冲进行限制可以强迫那些不从服务器读取数据的
    #客户端断开连接,用来强制关闭传输缓慢的客户端。
    client-output-buffer-limit normal 0 0 0
    
    #对于slave client和MONITER client,如果
    #client-output-buffer一旦超过256mb,又或者超过64mb
    #持续60秒,那么服务器就会立即断开客户端连接
    client-output-buffer-limit replica 256mb 64mb 60
    
    #对于pubsub client,如果client-output-buffer一旦超过
    #32mb,又或者超过8mb持续60秒,那么服务器就会立即断开客
    #户端连接
    client-output-buffer-limit pubsub 32mb 8mb 60
    
    #客户端查询缓冲区累积新命令。 默认情况下,它被限制为固
    #定数量,以避免协议失步(例如由于客户端中的错误)将导致
    #查询缓冲区中的未绑定内存使用。 但是,如果您有非常特殊
    #的需求,可以在此配置它,例如我们巨大执行请求
    #client-query-buffer-limit 1gb
    
    #在Redis协议中,批量请求(即表示单个字符串的元素)通常
    #限制为512 MB。 但是,您可以在此更改此限制
    #proto-max-bulk-len 512mb
    
    #默认情况下,hz设置为10.提高值时,在Redis处于空闲状
    #态下,将使用更多CPU。范围介于1到500之间,大多数用户
    #应使用默认值10,除非仅在需要非常低延迟的环境中将此
    #值提高到100
    hz 10
    
    #启用动态HZ时,实际配置的HZ将用作基线,但是一旦连接
    #了更多客户端,将根据实际需要使用配置的HZ值的倍数
    dynamic-hz yes
    
    #当一个子进程重写AOF文件时,如果启用下面的选项,则文
    #件每生成32M数据会被同步
    aof-rewrite-incremental-fsync yes
    
    #当redis保存RDB文件时,如果启用了以下选项,则每生成
    #32 MB数据将对文件进行fsync。 这对于以递增方式将文件
    #提交到磁盘并避免大延迟峰值非常有用
    rdb-save-incremental-fsync yes
    
    #±-------±-----------±-----------±-----------±-----------±-#----------+
    #| factor | 100 hits | 1000 hits | 100K hits | 1M hits | #10M hits |
    #±-------±-----------±-----------±-----------±-----------±-#----------+
    #| 0 | 104 | 255 | 255 | 255 | 255 |
    #±-------±-----------±-----------±-----------±-----------±-----------+
    #| 1 | 18 | 49 | 255 | 255 | 255 |
    #±-------±-----------±-----------±-----------±-----------±-----------+
    #| 10 | 10 | 18 | 142 | 255 | 255 |
    #±-------±-----------±-----------±-----------±-----------±-----------+
    #| 100 | 8 | 11 | 49 | 143 | 255 |
    #±-------±-----------±-----------±-----------±-----------±-----------+
    
    #可以调整计数器counter的增长速度,lfu-log-factor越大,
    #counter增长的越慢。
    #lfu-log-factor 10
    
    #是一个以分钟为单位的数值,可以调整counter的减少速度
    #lfu-decay-time 1
    
    

    活跃碎片整理

    ########################### ACTIVE DEFRAGMENTATION #######################
    
    #是否启用碎片整理,默认是no
    #activedefrag no
    
    #最小的碎片空间浪费量
    #active-defrag-ignore-bytes 100mb
    
    #最小的碎片百分比阈值
    #active-defrag-threshold-lower 10
    
    #最大的碎片百分比阈值
    #active-defrag-threshold-upper 100
    
    #碎片整理周期CPU消耗最小百分比
    #active-defrag-cycle-min 1
    
    #碎片整理周期CPU消耗最大百分比
    #active-defrag-cycle-max 25
    
    #从set / hash / zset / list 扫描的最大字段数
    #active-defrag-max-scan-fields 1000
    
    #默认情况下,用于清除的Jemalloc后台线程是启用的。
    jemalloc-bg-thread yes
    
    #设置redis服务器的IO线程组的CPU绑定:0,2,4,6
    #server_cpulist 0-7:2
    
    #设置BIO线程的CPU绑定为:1,3:
    #bio_cpulist 1,3
    
    #设置AOF子进程的CPU绑定为:8,9,10,11
    #aof_rewrite_cpulist 8-11
    
    #设置bgsave的CPU绑定为:1,10-11
    #bgsave_cpulist 1,10-11
    
    

    相关文章

      网友评论

        本文标题:redis6安装与配置详解

        本文链接:https://www.haomeiwen.com/subject/egsskltx.html