美文网首页
redis配置文件的详解

redis配置文件的详解

作者: MrH_永无BUG | 来源:发表于2021-02-03 14:07 被阅读0次

    1.include命令

    # include .\path\to\local.conf   可以包含其他的配置文件
    # include c:\path\to\other.conf
    

    2.网络配置

    bind 127.0.0.1     #配置的服务器的ip
    port 6379           #默认的端口号是6379
    

    3.通用的信息 日志等

    daemonize yes  #默认的开启守护进程
    pidfile /var/run/redis_6379.pid     #如果守护进程开启那么我们需要指定一个pid
    
    # Specify the server verbosity level.
    # This can be one of:
    # debug (a lot of information, useful for development/testing)
    # verbose (many rarely useful info, but not a mess like the debug level)
    # notice (moderately verbose, what you want in production probably)  生产环境使用
    # warning (only very important / critical messages are logged)
    loglevel notice  #有四种级别  默认是notice
    logfile "" #日志存放的地址
    databases 16  #redis的数据库一共有16个
    

    4.SNAPSHOTTING 快照

    持久化,在规定的时间内,执行了多少次操作,那么则会持久化操作到文件.rdb,.aof中
    redis是内存数据库,如果没有持久化,那么就会断电即失
    save 900 1      #如果在900秒内至少有一个key修改,那么就会进行持久化操作
    save 300 10     #如果在300秒内至少有一个key修改,那么就会进行持久化操作
    save 60 10000   #如果在60秒内至少有一个key修改,那么就会进行持久化操作
    
    stop-writes-on-bgsave-error yes  #如果持久化操作失败,那么还是否要继续工作
    
    rdbcompression yes    #是否需要压缩rdb文件,需要消耗一些cpu资源
    rdbchecksum yes         #保存rdb文件的时候,进行错误的检验
    dir ./                  #rdb文件保存的路径
    

    5.REPLICATION 主从复制

    # slaveof <masterip> <masterport>                  配置主机的ip和端口
    # masterauth <master-password>              配置主机的密码
    #slave-serve-stale-data yes                 主从复制中,从服务器可以响应客户端请求 一般是读操作
    #slave-read-only yes                        丛机只能是读操作,默认是开启的
    #repl-diskless-sync no        #主从同步支持两种策略,即disk和socket方式(socket方式尚不完  善,还处于实验阶段) 新的slave端和重连的salve端不允许去继续同步进程,这被称之为“完全同步”。一个RDB文件从master端传到slave端,分为两种情况:1、支持disk:master端将RDB file写到disk,稍后再传送到slave端;2、无磁盘diskless:master端直接将RDB file传到slave socket,不需要与disk进行交互。无磁盘diskless方式适合磁盘读写速度慢但网络带宽非常高的环境。
    #repl-diskless-sync no                 #默认不使用diskless同步方式               
    #repl-diskless-sync-delay 5       #无磁盘diskless方式在进行数据传递之前会有一个时间的延迟,以便slave端能够进行到待传送的目标队列中,这个时间默认是5秒
    #repl-disable-tcp-nodelay no     #是否启用TCP_NODELAY,如果启用则会使用少量的TCP包和带宽去进行数据传输到slave端,当然速度会比较慢;如果不启用则传输速度比较快,但是会占用比较多的带宽。
    #slave-priority 100          #slave端的优先级设置,值是一个整数,数字越小表示优先级越高。当master故障时将会按照优先级来选择slave端进行恢复,如果值设置为0,则表示该slave永远不会被选择。
    

    6.security 安全

    127.0.0.1:6379> oing
    (error) ERR unknown command 'oing'
    127.0.0.1:6379> ping   #在没有密码的情况下我们可以看到是可以ping通的
    PONG
    127.0.0.1:6379> config get requirepass      #我们可以通过这个命令去看是否配置了密码
    1) "requirepass"
    2) ""
    127.0.0.1:6379> config set requirepass "123456"     #我们可以设置密码
    OK
    127.0.0.1:6379> ping
    (error) NOAUTH Authentication required.     #可以看到此刻ping不通,需要进行密码的验证
    127.0.0.1:6379> auth 123456
    OK                                  #验证通过
    127.0.0.1:6379> ping                #可以看到再次ping通
    PONG
    127.0.0.1:6379>
    

    7.limit 限制

    maxclients 10000            #设置能连上redis的最大客户端数量,默认是1万个,这个是默认的配置,一般不做修改
    
    maxmemory <bytes>           #redis的最大内存设置,默认是字节
    
    maxmemory-policy noeviction   #内存达到上限之后的处理策略
    # volatile-lru -> remove the key with an expire set using an LRU algorithm  只对设置了过期时间的key进行删除
    # allkeys-lru -> remove any key according to the LRU algorithm  删除lru算法的key
    # volatile-random -> remove a random key with an expire set   随机删除即将过期的key
    # allkeys-random -> remove a random key, any key                随机删除
    # volatile-ttl -> remove the key with the nearest expire time (minor TTL)   删除即将过期的key
    # noeviction -> don't expire at all, just return an error on write operations 永不过期,返回错误
    

    8.aof 配置 APPEND ONLY MODE

    appendonly no   默认是不开启配置的    默认是使用rdb模式的
    appendfilename "appendonly.aof"  # 文件名称
    
    # appendfsync always    #每次修改都会sync,消耗性能
    appendfsync everysec    #每秒执行一次sync,可能会丢失者一秒的数据
    # appendfsync no        #不执行sync,这个时候操作系统自己同步数据,速度最快
    

    相关文章

      网友评论

          本文标题:redis配置文件的详解

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