美文网首页
redis配置文件

redis配置文件

作者: 裂开的汤圆 | 来源:发表于2020-07-06 15:30 被阅读0次

    redis配置文件中存储单位说明

    1k 等价于 1000bytes
    1kb 等价于 1024bytes
    1m 等价于 1000000bytes
    1mb 等价于 1024*1024bytes
    同理...
    
    redis对大小写不敏感(insensitive),1GB 1Gb 1gB表示同一个意思
    

    redis常用配置说明

    # 引入其他配置文件,可以在同一主机上多个redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件
    include /path/to/local.conf
    
    # 以守护线程的方式启动redis
    daemonize yes
    
    # 进程管道ID文件
    pidfile /var/run/redis.pid
    
    # 绑定端口
    port 6379
    
    # tcp链接队列
    tcp-backlog 511
    
    # 当客户端闲置多长时间后关闭链接,设置为0表示关闭本功能
    timeout 0
    
    # 每隔一次设置的时间,向客户端发送一个TCP包用于检测客户端是否保持链接的畅通,设置为0时表示关闭本功能
    tcp-keepalive 0
    
    # 日志级别,redis包含以下日志级别
    # debug
    # verbosee,类似于info
    # notice,可用于生产 环境
    #  warning,类似于error
    loglevel notice 
    
    # 日志记录方式,默认为标准输出,如果配置redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
    logfile stdout
    
    # 系统日志开关
    syslog-enabled yes
    
    # 指定syslog的标示符
    syslog-ident redis
    
    # 指定syslog 设备(facility), 必须是USER或者LOCAL0到LOCAL7
    syslog-facility local0
    
    # 数据库数量
    databases 16
    

    redis安全配置

    在配置文件中设置密码

    # 设置redis连接密码,如果配置了连接密码,客户端在连接redis时需要通过AUTH <password>命令提供密码,默认关闭
    requiredpass foobared
    

    在redis-cli中设置密码

    # 1.进入redis-cli
    redis-cli -p 6379
    # 2.设置密码
    CONFIG set requirepass "password"
    # 3.登录
    AUTH password
    # 4.获取密码
    config get requirepass
    
    

    redis limits限制

    # 最大客户端数量,设置为0时,表示不作限制。当客户端连接数到达限制时,redis会关闭新的链接并向客户端返回max number of clients reached错误信息
    maxclients 128
    
    # 最大内存大小。达到最大内存后,redis会先尝试清楚已到期或即将到期的key,当此方法处理后,仍然到达最大内存设置,将无法进行写入操作,但任然可以进行读取操作。
    maxmemory <bytes>
    
    # 设置缓存清除策略
    # redis有以下六种缓存过期策略
    # volatile-lru:使用LRU算法移除key,只对设置了过期时间的键生效
    # allkeys-lru:使用LRU算法移除key,对所有key生效
    # volatile-random: 在过期集合中移除随机的Key,只对设置了过期时间的键生效
    # allkeys-random: 在过期集合中移除随机的Key,对所有key生效
    # volatile-ttl: 删除剩余存活时间最短的key(即将过期的key)
    # noeviction-永不过期(默认)
    maxmemory-policy noeviction
    
    # 设置样本数量
    # LRU算法和TTL算法都并非是精确的运算,而是估算值,所以可以设置样本的大小
    # 单设置为10时,与全量LRU算法基本一致
    maxmemory-samples 5
    

    LRU与TTL算法说明

    LRU(Least Recently Used),即最近最少使用

    TTL(Time To Live),剔除即将过期的

    rdb(数据持久化配置)

    # 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
    save <seconds> <changes>
    # redis默认配置文件中提供三个条件
    save 900 1
    save 300 10
    save 60 10000
    分别表示900秒(15分钟)内有一个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
    
    # 是否将数据文件压缩,默认为yes,redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项。
    rdbcompression yes
    
    # 指定数据文件名,默认值为dump.rdb
    dbfilename dump.rdb
    
    # 指定数据文件的存放目录
    dir ./
    
    # 当出现异常时,停止写入数据文件
    stop-writes-on-bgsave-error yes
    
    # 存储快照后,开启CRC64算法来进行数据校验,这样做会增加大约10%的性能消耗
    rdbchecksum yes
    

    aof(数据持久化配置)

    # 指定是否每次更新操作后进行日志记录,redis在默认情况下是异步把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内数据丢失。
    appendonly no
    
    # 指定更新日志文件名,默认为appendonly.aof
    appendfilename appendonly.aof
    
    # 指定更新日志条件,共有3个可选值
    # no: 表示等操作系统进行数据缓存同步到磁盘
    # always: 表示每次更新操作后手动调用fsync()将数据写到磁盘(资源占用高,数据安全)
    # everysec: 表示每秒同步一次(折中,默认值)
    appendfsync everysec
    

    redis主从设置

    # 当本机为从机时,设置master服务的IP地址及端口,在redis启动时,它会自动从master进行数据同步
    slaveof <masterip> <masterport>
    
    # 当master服务设置了密码保护时,slav服务连接master的密码
    masterauth <master-password>
    
    

    redis虚拟内存设置

    # 指定是否启用虚拟内存机制,默认为no。VM机制将数据分页存放,由redis将访问量较少的页,既冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中
    vm-enabled no
    
    # 虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个redis实例共享
    vm-swap-file /tmp/redis.swap
    
    # 将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储(redis的索引数据就是Key),也就是说,当vm-max-memory设置为0时,所有value都存在于磁盘上。
    vm-max-memory 0
    
    # redis swap文件分成了很多的page,一个对象可以保存在多个page上,但一个page上不能被多个对象共享,vm-page-size是要根据存储的数据大小来设定的,如果存储很多小对象,Page大小最好设置为32或64bytes;如果存储大对象,则可使用更大的page
    vm-page-size 32
    
    # 设置swap文件中page数量,由于页表(一种表示页面空闲或使用的bitmap)是放在内存中,在磁盘上没8个pages将消耗1byte的内存
    vm-pages 134217728
    
    # 设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么对所有swap文件的操作都是串行的,可能会造成较长时间的延迟。默认值为4
    vm-max-threads 4
    

    相关文章

      网友评论

          本文标题:redis配置文件

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