redis 配置文件配置

redis的配置和使用

redis的配置的分段的

配置段:

      基本配置项

  网络配置项

  持久化相关配置

  复制相关的配置

  安全相关配置

  Limit相关的配置

  SlowLog相关的配置

  INCLUDES

扫描二维码关注公众号,回复: 3261496 查看本文章

  Advanced配置

通用配置项:GENERAL 这段

  daemonize no

  supervised no

  pidfile /var/run/redis_6379.pid

  loglevel notice

  logfile /var/log/redis/redis.log

  databases 16   设定数据库数量,默认为16个,每个数据库的名字均为整数,从0开始编号,默认操作的数据库为0;

  切换数据库的方法:SELECT <dbid>

网络相关配置:NETWORK

  bind IP  绑定  监听一个外部地址或网段  0.0.0.0 (所有地址)

  port PORT    端口

  protected-mode   保护模式

  tcp-backlog     tcp队列长度

  unixsocket    本机连接

  timeout:连接的空闲超时时长

安全配置:SECURITY 

  requirepass <PASSWORD>   认证的

  rename-command <COMMAND> <NEW_CMND_NAME>    重命名

在AOF或Replication环境中,不推荐使用

Limits相关的配置

  Maxclients      最大并发连接数

  maxmemory <bytes>  最大内存

  maxmemory-policy  noeviction 

淘汰策略:volatile-lru, allkeys-lru, volatile-random, allkeys-random, volatile-ttl, noeviction(不启用淘汰机制)

maxmemory-samples 5 淘汰算法运行时的采样样本数

SlowLog相关的配置:  慢查询

  slowlog-log-slower-than 10000   =0.01s

      单位是微秒;

  slowlog-max-len 128    每行最大多少字节

  SlowLog记录的日志最大条目;

ADVANCED配置:   高级配置

hash-max-ziplist-entries 512   关联数组最大512字节

hash-max-ziplist-value 64

设置ziplist的键数量最大值,每个值的最大空间;

client-output-buffer-limit normal 0 0 0     客户端一侧输出缓存空间大小

client-output-buffer-limit slave 256mb 64mb 60(硬限制256,软限制64,超出64部分在60s之后自动清除)

client-output-buffer-limit pubsub 32mb 8mb 60

redis的配置参数可以运行时修改

命令config

Config set   设定

Config  get   获取

Config  rewrite   将配置重写到配置文件中 永久有效

Config resetstat   重置一些计数器

如 info  计数器一些状态信息

Redis的持久化  备份

持久逻辑有两种 RDB(快照)  AOF

RDB 配置SNAPSHOTTING 段

RDB:snapshotting, 二进制格式;按事先定制的策略,周期性地将数据从内存同步至磁盘;数据文件默认为dump.rdb;

客户端显式使用SAVE或BGSAVE命令来手动启动快照保存机制;

      SAVE:同步,即在主线程中保存快照,此时会阻塞所有客户端请求;

      BGSAVE:异步;backgroud

AOF:Append Only File, fsync 类似于二进制文件

记录每次写操作至指定的文件尾部实现的持久化;当redis重启时,可通过重新执行文件中的命令在内存中重建出数据库;

      BGREWRITEAOF:AOF文件重写;把n次操作的语句的结果重置成一个最终状态的指令

    不会读取正在使用AOF文件,而是通过将内存中的数据以命令的方式保存至临时文件中,完成之后替换原来的AOF文件;

RDB相关的配置:

save <seconds> <changes>

      save 900 1

      save 300 10

      save 60 10000

      save 5  200000

表示:三个策略满足其中任意一个均会触发SNAPSHOTTING操作;900s内至少有一个key有变化,300s内至少有10个key有变化,60s内至少有1W个key发生变化;

就自动启动快照

在snapshotting  配置段中

      stop-writes-on-bgsave-error yes   dump操作出现错误时,是否禁止新的写入操作请求;

      rdbcompression yes   要不要压缩

      rdbchecksum yes     每次快照后做校验

      dbfilename dump.rdb:指定rdb文件名

      dir /var/lib/redis:rdb文件的存储路径

AOF 在配置段APPEND  ONLY  MODE

  appendonly no           启用默认没有启用

  appendfilename "appendonly.aof"

  appendsync  everysec    内核每秒同步到磁盘

    no:redis不执行主动同步操作,而是OS进行;

    everysec:每秒一次;

    always:每语句一次;

no-appendfsync-on-rewrite no  是否在后台执行aof重写期间不调用fsync,默认为no,表示调用;

uto-aof-rewrite-percentage 100   多久重写一次

auto-aof-rewrite-min-size 64mb   最少这么大时才出发重写

上述两个条件同时满足时,方会触发重写AOF;与上次aof文件大小相比,其增长量超过100%,且大小不少于64MB;

aof-load-truncated yes

注意:持久机制本身不能取代备份;应该制订备份策略,对redis库定期备份;

RDB与AOF同时启用:

 (1) BGSAVE和BGREWRITEAOF不会同时进行;

 (2) Redis服务器启动时用持久化的数据文件恢复数据,会优先使用AOF;   

猜你喜欢

转载自www.cnblogs.com/huxl1/p/9672063.html