Redis 是当今最为受欢迎的开源 NoSQL 数据库,可实现多样化的数据持久化方案,提供快速的数据处理与存储。Redis 配置参数对于实现良好的 Redis 模型和服务以及配置负载平衡等是非常重要的。本文将要介绍关于 Redis 配置参数,包括 Redis 主从复制配置、Redis 持久化配置、Redis 过期键配置、Redis 慢查询配置以及 Redis 缓存配置等。
Redis 主从复制配置可以用来将 Redis 存储的数据进行备份,以确保在系统故障时不会遗失数据。主从复制的配置参数不同于正常的 Redis 服务,复制参数需要手动添加到 redis.conf 文件中:
#Master-Slave replication
replicaof
masterauth
#slave-read-only
slave-read-only
slave-announce-ip
slave-announce-port
以上为主从复制的配置参数,其中 replica-of 命令指定了 Redis 从机所连接的主机和主机端口;masterauth 设置了从机要和主机通信的认证密码;slave-read-only 用于指定 Redis 从机对读请求的处理方式;slave-announce-ip 和 slave-announce-port 指定从机要发布的 IP 和端口。
Redis 持久化配置一般分为两种,支持 RDB 持久化,也支持 AOF 持久化。RDB 配置参数如下:
#支持RDB持久化:
save
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
以上配置参数中,save 指定 redis 会在满足指定秒数和变更次数的条件下,执行 RDB 持久化操作;stop-writes-on-bgsave-error 设定当 Redis 持久化时发生错误,是否禁止写入操作;rdbcompression 用于指定是否使用压缩,rdbchecksum 用于指定 RDB 是否在存储文件中添加校验和。
AOF 持久化的配置参数:
#支持AOF持久化:
appendonly yes
#即时发布
auto-aof-rewrite-min-size 64mb
#后台发布
auto-aof-rewrite-percentage 100
#后台发布
no-appendfsync-on-rewrite no
#aof校验
aof-load-truncated yes
以上配置参数中,appendonly 指定是否将 Redis 所有写操作都落地到磁盘上;auto-aof-rewrite-min-size 指定了 AOF 发布必须达到多大尺寸后才会被执行;auto-aof-rewrite-percentage 指定了 AOF 发布在所有比例上被重写的比例;no-appendfsync-on-rewrite 指定了是否在 AOF 的发布过程中同步 Append-only 到持久层,aof-load-truncated 指定了是否读取出现损坏的 AOF 并尝试继续读取。
Redis 过期键配置可以自动将过期的数据从 Redis 中删除,过期键的配置参数如下:
#Redis 过期键的配置
maxmemory
maxmemory-policy
maxmemory 指定了 Redis 最大内存大小,maxmemory-policy 指定了在达到最大内存时采取的行动,该参数有四种可选项,分别为:allkeys-lru、allkeys-random、volatile-lru 、volatile-random 、volatile-ttl 和 noeviction;noeviction 模式指定禁止删除键,当使用 noeviction 模式时,Redis 会拒绝新的键设置操作,从而触发错误。
Redis 慢查询配置可以用来检测性能问题,慢查询的配置参数如下:
#Redis 慢查询配置
slowlog-log-slower-than
slowlog-max-len
以上两个配置参数中