- include /path/to/local.conf
- 载入额外的配置文件,如果需要的话,可以开启次配置
- bind 127.0.0.1
- 绑定redis服务器网卡IP,默认为127.0.0.1,即本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接。如果bind选项为空的话,那会接受所有来自于可用网络接口的连接
- protected-mode yes
- 保护模式,默认是开启状态,只允许本地客户端连接, 可以设置密码或添加bind来连接
- port 6379
- 监听端口号,默认为6379,如果设为0,redis将不在socket 上监听任何客户端连接
- top-backlog 511
- TCP监听的最大容纳数量,在高并发的环境下,你需要把这个值调高以避免客户端连接缓慢的问题。Linux 内核会把这个值缩小成 /proc/sys/net/core/somaxconn对应的值,要提升并发量需要修改这两个值才能达到目的
- timeout 0
- 指定在一个 client 空闲多少秒之后关闭连接(0表示永不关闭)
- tcp-keepalive 300
- 单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测
- daemonize yes
- 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面
- loglevel notice
- 定义日志级别
- debug(记录大量日志信息,适用于开发、测试阶段)
- verbose(较多日志信息)
- notice(适量日志信息,使用于生产环境)
- warning(仅有部分重要、关键信息才会被记录)
- logfile /var/redis/log/redis_6379.log
- 日志文件的位置,当指定为空字符串时,为标准输出,如果redis已守护进程模式运行,那么日志将会输出到/dev/null
- databases 16
- 设置数据库的数目。默认的数据库是DB 0 ,可以在每个连接上使用select 命令选择一个不同的数据库,dbid是一个介于0到databases - 1 之间的数值。
save 900 1
save 300 10
save 60 10000
- 900 秒内如果至少有 1 个 key 的值变化,则保存
- 300 秒内如果至少有 10 个 key 的值变化,则保存
- 60 秒内如果至少有 10000 个 key 的值变化,则保存
- ==注意==:你可以注释掉所有的 save 行来停用保存功能。
也可以直接一个空字符串来实现停用:
save “”
dbfilename dump.rdb
- 设置快照的文件名
- dir /var/redis/6379
- 设置快照文件的存放路径,这个配置项一定是个目录,而不能是文件名
- slaveof
- 主从复制,使用 slaveof 来让一个 redis 实例成为另一个reids 实例的副本,默认关闭
注意这个只需要在 slave 上配置
- 主从复制,使用 slaveof 来让一个 redis 实例成为另一个reids 实例的副本,默认关闭
- masterauth
- 如果 master 需要密码认证,就在这里设置,默认不设置
slave-serve-stale-data yes
- 当一个 slave 与 master 失去联系,或者复制正在进行的时候,
slave 可能会有两种表现:
- 如果为 yes ,slave 仍然会应答客户端请求,但返回的数据可能是过时,
或者数据可能是空的在第一次同步的时候 - 如果为 no ,在你执行除了 info he salveof 之外的其他命令时,
slave 都将返回一个 “SYNC with master in progress” 的错误
- 如果为 yes ,slave 仍然会应答客户端请求,但返回的数据可能是过时,
- 当一个 slave 与 master 失去联系,或者复制正在进行的时候,
slave-read-only yes
- 你可以配置一个 slave 实体是否接受写入操作。
通过写入操作来存储一些短暂的数据对于一个 slave 实例来说可能是有用的,
因为相对从 master 重新同步数而言,据数据写入到 slave 会更容易被删除。
但是如果客户端因为一个错误的配置写入,也可能会导致一些问题。
从 redis 2.6 版起,默认 slaves 都是只读的。
- 你可以配置一个 slave 实体是否接受写入操作。
repl-ping-slave-period 10
- 从redis会周期性的向主redis发出PING包,你可以通过repl_ping_slave_period指令来控制其周期,默认是10秒。
- slave-priority 100
- 从站优先级是可以从redis的INFO命令输出中查到的一个整数。当主站不能正常工作时
redis sentinel使用它来选择一个从站并将它提升为主站。
低优先级的从站被认为更适合于提升,因此如果有三个从站优先级分别是10,
100,25,sentinel会选择优先级为10的从站,因为它的优先级最低。
然而优先级值为0的从站不能执行主站的角色,因此优先级为0的从站永远不会被redis sentinel提升。
默认优先级是100
- 从站优先级是可以从redis的INFO命令输出中查到的一个整数。当主站不能正常工作时
- maxmemory
- 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key
当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,
会把Key存放内存,Value会存放在swap区,格式:maxmemory
- 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key
- maxmemory-policy noeviction
- 当内存使用达到最大值时,redis使用的清楚策略。有以下几种可以选择:
- volatile-lru 利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
- allkeys-lru 利用LRU算法移除任何key
- volatile-random 移除设置过过期时间的随机key
- allkeys-random 移除随机ke
- volatile-ttl 移除即将过期的key(minor TTL)
- noeviction noeviction 不移除任何key,只是返回一个写错误 ,默认选项
- 当内存使用达到最大值时,redis使用的清楚策略。有以下几种可以选择:
- appendonly no
- 默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,
会导致可能有几分钟的数据丢失,根据save来策略进行持久化,Append Only File是另一种持久化方式,
可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入appendonly.aof文件,
每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
- 默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,
- appendfilename “appendonly.aof”
- aof文件名
appendfsync always
appendfsync everysec
appendfsync no
- no表示不执行fsync,由操作系统保证数据同步到磁盘,速度最快。
- always表示每次写入都执行fsync,以保证数据同步到磁盘
- everysec表示每秒执行一次fsync,可能会导致丢失这1s数据
- cluster-enabled yes
- 集群开关,默认是不开启集群模式
- cluster-config-file nodes-6379.conf
- 集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。
这个文件并不需要手动配置,这个配置文件有Redis生成并更新,每个Redis集群节点需要一个单独的配置文件
请确保与实例运行的系统中配置文件名称不冲突
- 集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。
redis配置文件
最新推荐文章于 2024-06-02 16:06:13 发布