2.redis通用配置

所谓通用配置,就是所有模式都需要修改的配置。redis的配置文件以“#####xxx#####”分隔了不同的功能区。我们以redis.conf文件作为模板进行修改配置。下面只是列出了主要需要修改的一些配置信息。注意:这里不涉及“#### REPLICATION ######”(slave设置)和“##### REDIS CLUSTER #######”(cluster)的配置。完成这些配置后,我们就可以启动一个单节点的redis实例了。
 
# 配置绑定的IP地址
bind 192.168.235.121
# 监听的端口号
port 6379
 
# 默认为600秒,当client 端idle时间超过600秒则断开连接
timeout 600
tcp-keepalive 300
# 如果并发连接量很大,建议调大这个数值,但是这个值小于等于/proc/sys/net/core/somaxconn 里面的值。
tcp-backlog 1000
 
# daemonize 要设置成yes。表示可以以守护进程方式启动
daemonize yes
 
# pid文件路径
pidfile “~/apps/redis/var/redis-6379.pid”
 
# 日志文件路径
logfile “~/apps/redis/logs/redis-6379.log”
 
# SNAPSHOTTING,如果数据不是特别重要,可以增大bgsave的时间间隔,以提升效率,甚至可以关闭到磁盘的存储,save ""。具体的解释可以看文章最后的解释
save 900 1
save 300 10
save 60 10000
 
# 如果数据不是特别重要,可以设置为no,这样即使出现disk 故障,redis仍然可以提供读写服务,设置为yes,disk故障,redis只能提供读服务。
stop-writes-on-bgsave-error yes
 
# 如果网络不稳定的情况下,为了避免全量复制,可以根据实际情况调大repl-backlog-size
# backlog(复制积压缓存区)保存了最近一段时间的写操作。
repl-backlog-size 1mb
 
# rdb 文件路径
dbfilename "dump-6379.rdb"
dir "~/apps/redis/data"
 
# 设置redis 实例的密码
requirepass "xxxxxx"
 
# 设置最大客户端连接数,为了保证性能,最高最好不要超过5000
maxclients 4096
 
# 设置实例最大内存限制,为保证集群稳定,建议设置
maxmemory <bytes>
 
# APPEND ONLY MODE。会记录所有的redis操作,路径同rdb
appendonly yes
appendfilename "appendonly-6379.aof"
 
# 可以适度调大aof rewrite的条件,避免过于频繁的rewrite。或者直接关闭自动重写(设置auto-aof-rewrite-percentage为0),然后设置定时任务进行重写
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
 
注:关于rdb和aof的说明
1.rdb是内存数据的持久化,aof记录的是所有的操作,二者都可以用来恢复redis数据库。其中,由于rdb写磁盘是根据save配置设置的,可能会丢失部分数据,尤其是在使用flushdb/flushall的时候,可以肯定由于自动bgsave的原因数据基本不可恢复。aof也可以用来恢复数据库,只是稍微慢一点,但不会丢数据,因为其记录的是每一条命令,当然这有个前提,就是执行flushdb/flushall命令之后,没有执行bgrewriteaof操作,否则一样不可以恢复。一般数据不是特别紧要的情况下,我会关闭rdb,开启aof,但不设置aof的自动重写,而是在凌晨通过crontab手动执行bgsave和bgrewriteaof操作。redis启动时默认先使用aof恢复数据。
2.aof重写,不是操作aof文件,而是读取内存中的数据生成一个新的aof文件,替换原来的文件。


原文地址:https://www.cnblogs.com/anand-sun/p/12093618.html