所谓通用配置,就是全部模式都须要修改的配置。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文件,替换原来的文件。