zoukankan      html  css  js  c++  java
  • redis配置文件redis.conf详解

    redis-server启动时就需要一个redis.conf配置文件,所以要设置不同的redis-server,就必须要了解配置文件中的各个内容。这里罗列了一些配置,在文件中顺序从上至下。

    1.单位对大小写不敏感

    2.可以包含多个配置文件,将其他配置文件的内容放在该配置文件里

    3.网络(重点)设置绑定的ip。

    指定ip可以访问到redis服务,若配置集群则需要修改此处

     

    protected-mode 保护模式默认yes开启,若需要远程连接则需要设置为no。

    port为服务占用的端口

     3.密码。设置客户端登录连接redis服务所需要的授权密码。授权方式为 auth [password]

     4.daemonize进程方式运行redis-server,默认为no。一般需要后台运行server,都需要修改为yes

     5.pidfile。若server以后台的方式运行,则需要对应的进程文件

    6.配置日志

    loglevel 日志级别;

    logfile 日志输出路径和文件名称;若为空,则标准输出(输出在控制台上),不进行存储。

    7.数据库的数量。默认16个(0~15)

     8.持久化

    redis是内存存储,如果没有持久化,那么数据断电即失。redis默认使用rdb的方式持久化

    ①、save:这里是用来配置触发 Redis的 RDB 持久化条件,也就是什么时候将内存中的数据保存到硬盘。比如“save m n”。表示m秒内数据集存在n次修改时,自动触发bgsave

      默认如下配置:

    save 900 1:表示900 秒内如果至少有 1 个 key 的值变化,则保存
    save 300 10:表示300 秒内如果至少有 10 个 key 的值变化,则保存
    save 60 10000:表示60 秒内如果至少有 10000 个 key 的值变化,则保存

     当然如果你只是用Redis的缓存功能,不需要持久化,那么你可以注释掉所有的 save 行来停用保存功能。可以直接一个空字符串来实现停用:save ""

    ②、stop-writes-on-bgsave-error :默认值为yes。当启用了RDB且最后一次后台保存数据失败,Redis是否停止接收数据。这会让用户意识到数据没有正确持久化到磁盘上,否则没有人会注意到灾难(disaster)发生了。如果Redis重启了,那么又可以重新开始接收数据了

    ③、rdbcompression ;默认值是yes。对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis会采用LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话,可以设置为关闭此功能,但是存储在磁盘上的快照会比较大。

    ④、rdbchecksum :默认值是yes。在存储快照后,我们还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能。

    ⑤、dbfilename :设置快照的文件名,默认是 dump.rdb

    ⑥、dir:设置快照文件的存放路径,这个配置项一定是个目录,而不能是文件名。默认是位于启动redis服务的当前pwd路径

      也就是说通过在配置文件中配置的 save 方式,当实际操作满足该配置形式时就会进行 RDB 持久化,将当前的内存快照保存在 dir 配置的目录中,文件名由配置的 dbfilename 决定。

     9.主从复制相关配置,

    replicaof <masterip> <masterport>:配置所属的主服务器,主服务器ip地址和端口。注意主服务器要配合修改bind

    masterauth <master-password>:连接主服务器的密码

     10.maxclients 设置同时连接redis的客户端的最大数量

     11.maxmemory定义可用最大物理内存

     12.maxmemory-policy 设置内存达到上限之后的处理策略:https://www.cnblogs.com/yueerya/p/11507898.html

    noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。(默认值) 

    allkeys-lru: 所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。

    volatile-lru: 只限于设置了 expire 的部分; 优先删除最近最少使用(less recently used ,LRU) 的 key。

    allkeys-random: 所有key通用; 随机删除一部分 key。

    volatile-random: 只限于设置了 expire 的部分; 随机删除一部分 key。

    volatile-ttl: 只限于设置了 expire 的部分; 优先删除剩余时间(time to live,TTL) 短的key。

    redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取maxmeory-samples个键,删除这三个键中最近最少使用的键。

    13.APPEND ONLY MODE为aof配置

    appendonly 默认为 no,默认关闭

    appendfilename,aof持久化文件的名字

    appendfsync always,每次修改都会同步,消耗性能

    appendfsync everysec,每秒执行一次同步,若宕机则可能失去这1s的数据

    appendfsync no,不执行同步,这个时候操作系统自己同步数据,速度最快

  • 相关阅读:
    ACM HDU 3622 Bomb Game(2SAT)
    ACM HDU 3353 Not So Flat After All(简单题)
    php安装pear
    基于CPU访存局部性原理下的矩阵乘法实现
    MATLAB常用操作大全
    Matlab中二维统计分析图和三维立体图
    EXCEL中ABS
    图片和文本实现的数据隐藏
    NYOJ 485
    MATLAB解方程与函数极值
  • 原文地址:https://www.cnblogs.com/yuanweidao/p/13842850.html
Copyright © 2011-2022 走看看