redis配置文件redis.conf的常见配置项
一、redis.conf常见配置项
#指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求
bind 192.168.116.154
#是否开启保护模式,默认开启。
protected-mode yes
#redis监听的端口号。
port 7000
#此参数确定了TCP连接中已完成队列
tcp-backlog 511
# 此参数为设置客户端空闲超过timeout,服务端会断开连接,为0则服务端不会主动断开连接,不能小于0。
timeout 0
#指定TCP连接是否为长连接,"侦探"信号有server端维护。默认为0.表示禁用
tcp-keepalive 300
# 默认redis不是以后台进程的方式启动,如果需要在后台运行,需要将这个值设置成yes
daemonize yes
# 可以通过upstart和systemd管理Redis守护进程
supervised no
# redis启动的进程路径
pidfile /var/run/redis_7000.pid
# 日志级别,log 等级分为4 级,debug,verbose,notice, 和warning。生产环境下一般开启notice
loglevel notice
# 日志文件地址
logfile /var/log/redis/redis_7000.log
# 设置数据库的个数,可以使用SELECT 命令来切换数据库。默认使用的数据库是0号库。默认16个库
databases 16
# 持久化数据存储目录
dir /usr/local/cluster/7000
#当主master服务器挂机或主从复制在进行时,是否依然可以允许客户访问可能过期的数据。
# 在"yes"情况下,slave继续向客户端提供只读服务,有可能此时的数据已经过期;在"no"情况下,
# 任何向此server发送的数据请求服务(包括客户端和此server的slave)都将被告知"error"
slave-serve-stale-data yes
# 如果是slave库,只允许只读,不允许修改
slave-read-only yes
# 是否使用socket方式复制数据
repl-diskless-sync no
# diskless复制的延迟时间,防止设置为0。一旦复制开始,节点不会再接收新slave的复制请求直到下一个rdb传输。
# 所以最好等待一段时间,等更多的slave连上来
repl-diskless-sync-delay 5
# 是否禁止复制tcp链接的tcp nodelay[gs1] [gs2] 参数
repl-disable-tcp-nodelay no
# 当master不可用,Sentinel会根据slave的优先级选举一个master。最低的优先级的slave,当选master。
# 而配置成0,永远不会被选举。
slave-priority 100
# 默认redis使用的是rdb方式持久化
appendonly no
# sof文件名
appendfilename "appendonly_7000.aof"
#aof持久化策略的配置
appendfsync everysec
# appendfsync no
# 在aof重写或者写入rdb文件的时候,会执行大量IO,
# 此时对于everysec和always的aof模式来说,执行fsync会造成阻塞过长时间,
# no-appendfsync-on-rewrite字段设置为默认设置为no。
no-appendfsync-on-rewrite no
# aof自动重写配置。
auto-aof-rewrite-percentage 100
#设置允许重写的最小aof文件大小
auto-aof-rewrite-min-size 64mb
#aof文件可能在尾部是不完整的,当redis启动的时候,aof文件的数据被载入内存。
aof-load-truncated yes
# 启用或停用集群
cluster-enabled yes
# 配置redis做为一个集群节点来启动 。
cluster-config-file ./nodes-7000.conf
# 设置集群节点超时时间
cluster-node-timeout 3000
# “慢操作日志”记录
slowlog-log-slower-than 10000
# 慢操作日志”保留的最大条数,
slowlog-max-len 128
# 延迟监控,用于记录等于或超过了指定时间的操作,默认是关闭状态,即值为0。
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
#intset中允许保存的最大条目个数,如果达到阀值,intset将会被重构为hashtable
set-max-intset-entries 512
#zset为有序集合,有2中编码类型:ziplist,skiplist。
# 因为"排序"将会消耗额外的性能,当zset中数据较多时,将会被重构为skiplist。
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
# 是否开启顶层数据结构的rehash功能,如果内存允许,请开启。rehash能够很大程度上提高K-V存取的效率
activerehashing yes
# buffer控制类型包括:normal -> 普通连接;slave->与slave之间的连接;pubsub ->pub/sub类型连接,
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
# Redis server执行后台任务的频率,默认为10
hz 10
# 当一个child在重写AOF文件的时候,如果aof-rewrite-incremental-fsync值为yes生效,
# 那么这个文件会以每次32M数据的来被同步,这大量新增提交到磁盘是有用的,并且能避免高峰延迟。
aof-rewrite-incremental-fsync yes
二、配置集群redis.conf文件时不要开启数据的持久化,以下项需要注释掉(个人暂未测试
)
# 设置 Redis 进行数据库镜像的频率:
# 900 秒后如果至少有 1 个 key 的值变化,则保存
# 300 秒后如果至少有 10 个 key 的值变化,则保存
# 60 秒后如果至少有 10000 个 key 的值变化,则保存
#save 900 1
#save 300 10
#save 60 10000
# 当持久化出现错误之后,是否继续提供写服务.
#stop-writes-on-bgsave-error yes
# 数据持久化的时候,是否压缩。
#rdbcompression yes
# 读取和写入的时候是否支持CRC64校验,默认是开启的.
#rdbchecksum yes
# 镜像备份文件的文件名。
#dbfilename dump_7002.rdb
三、杀掉redis集群所有的进程
pkill -9 redis