原文:http://www.tbfl.store/redis/redis-config.html
Redis 目录下有一个redis.conf 配置文件,里面会有Redis 的默认配置,通过修改该配置,可以对Redis 达到一定程度的优化;或者根据业务的不同也可以修改该配置文件。
以下为redis 的部分配置文件以属性值:
配置名 | 含义 | 默认值 | 可选值 | 是否支持热生效 |
常规配置 | ||||
daemonize | 是否是守护进程 | no | yes|no | 不支持 |
supervised | 是upstart还是systemd接管redis进程 | no | no|upstart|systemd|auto | 不支持 |
pidfile | 进程文件 | /var/run/redis.pid | 可自定义文件路径 | 不支持 |
loglevel | 日志级别 | notice | debug|verbose|notice|warning | 可以 |
logfile | 日志文件路径 | 空 | 自定义 | 不支持 |
syslog-enabled | redis系统日志 | no | yes|no | 不支持 |
syslog-facility | 系统日志facility | local0 | local0-local7 | 不支持 |
databases | 可用的数据库数 | 16 | 整数 | 不支持 |
文件引用 | ||||
include | 包含外部的配置文件 | 空 | 可自定义文件路径 | 不支持 |
网络 | ||||
bind | 如果不配置,则可接受来自于所有网络的连接 | 127.0.0.1 | ip|多个ip | 不支持 |
protected-mode | 可与bind 组合使用,默认开启,如果redis 没有设置密码,同时bind为空,则在使用客户端连接的时候会进行提示 | yes | yes|no | 不支持 |
unixsocket | unix套接字 | 空(不通过unix 套接字来监听) | 指定套接字文件 | 不支持 |
unixsocketperm | unix套接字权限 | 0 | Linux三位数权限 | 不支持 |
timeout | 客户端N秒没有发送数据,自动断开连接 默认禁用 |
0 | 整数 | 不支持 |
tcp-keepalive | 如果值非0,单位是秒 表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态 避免服务器一直阻塞,官方给出的建议值是300S(3.2.1之后) |
0 | 整数 | 不支持 |
RDB快照 | ||||
save | RDB的保存条件 900秒更新了一个key 300秒更新了10个key 60秒更新了10000个key 都会进行rdb 保存 |
save 900 1 save 300 10 save 60 10000 |
如果没有该配置 则使用自动RDB策略 |
支持 |
stop-writes-on-bgsave-error | bgsave执行错误 是否停止Redis接收写请求 |
yes | yes|no | 支持 |
rdbcompression | RDB文件是否压缩 | yes | yes|no | 支持 |
rdbchecksum | RDB文件是否使用校验和 | yes | yes|no | 支持 |
dbfilename | RDB文件名称 | dump.rdb | 自命名 建议使用dump-{port}.rdb |
支持 |
dir | RDB文件存放目录 | redis安装目录 | 自定义文件路径 | 支持 |
主从复制 | ||||
slaveof | 指定当前从节点复制哪个主节点 | 空 | ip port | 不支持 但可以用slaveof命令设置 |
requirepass | 密码 | 空 | 自定义 | 支持 |
masterauth | 主节点密码 | 空 | 主节点的密码 | 支持 |
slave-serve-stale-data | 当从节点与主节点连接中断时,如果此参数设置为yes 则从节点可以继续处理客户端的请求。 否则除info和slaveof命令之外,拒绝所有的请求并统一回复: "SYNC with master in progress" |
yes | yes|no | 支持 |
slave-read-only | 从节点是否只读 | yes | yes|no | 支持 |
repl-diskless-sync | 是否开启无盘复制 | no | yes|no | 支持 |
repl-diskless-sync-delay | 开启无盘复制后,延迟多少秒后进行RDB的操作,一般用于同时加入多个从节点时,保证多个从节点共享RDB | 5 | 整数 | 支持 |
repl-ping-slave-period | 主节点定期向从节点发送ping命令,用来判断从节点是否存活(单位:秒) | 10 | 整数 | 支持 |
repl-timeout | 主节点复制超时时间,秒 | 60 | 整数 | 支持 |
repl-disable-tcp-nodelay | 是否开启主从复制socket的NO_DELAY选项: yes:Redis会合并小的TCP包来节省带宽,但是这要增加同步延迟,造成主从 数据不一致; no:主节点会立即同步数据,没有延迟。 |
no | yes|no | 支持 |
repl-backlog-size | 复制积压缓冲区大小 | 1M | 整数 | 支持 |
repl-backlog-ttl | 主节点在没有从节点的情况下多久后释放复制积压缓存区空间 | 3600 | 整数 | 支持 |
slave-priority | 从节点的优先级 | 100 | 0-100 | 支持 |
min-slaves-to-write | 当主节点发现从节点数量小于min-slaves-to-write 且延迟小于等于min-slaves-max-lag时,master停止写操作。 | 0 | 整数 | 支持 |
min-slaves-max-lag | 10 | 整数 | 支持 | |
slave-announce-ip | Redis Sentinel可以使用该信息来发现slave实例。 | 空 | ip | 支持 |
slave-announce-port | 空 | port | 支持 | |
安全 | ||||
requirepass | 密码 | 空 | 自定义 | 支持 |
内存策略 | ||||
maxclients | 最大客户端连接数 | 10000 | 整数 | 支持 |
maxmemory | 节点的最大内存 | 无限制 | 不能大于物理内存 | 支持 |
maxmemory-policy | redis 内存淘汰策略 | noeviction | volatile-lru:在设置过期时间的key中,剔除最少使用的key allkeys-lru:在所有的key中剔除最少使用的Key volatile-random:在过期时间key中,随机剔除 allkeys-random:在所有的key中,随机剔除 volatile-ttl:在设置过期的key中,优先剔除即将过期的key noeviction:不做任何操作,直接返回oom异常 |
支持 |
maxmemory-samples | 上面LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查 | 5 | 整数 | 支持 |
AOF相关配置 | ||||
appendonly | 是否开启AOF持久化模式 | no | yes|no | 支持 |
appendfilename | aof文件名称 | appendonly.aof | 建议:appendonly-{port}.aof | 不支持 |
appendfsync | aof同步磁盘频率 | everysec | everysec|always|no | 支持 |
no-appendfsync-on-rewrite | 设置为yes,表示rewrite期间对新的写操作不fsync,暂时放入缓冲区,等rewrite完成之后再写入 | no | yes|no | 支持 |
auto-aof-rewrite-percentage | 触发rewrite的AOF文件增长比例条件 | 100 | 整数 | 支持 |
auto-aof-rewrite-min-size | 触发rewrite的AOF文件最小阀值(单位:兆) | 64 | 整数+m | 支持 |
aof-load-truncated | 加载AOF文件时,是否忽略AOF文件不完整的情况 | yes | yes|no | 支持 |
Lua脚本 | ||||
lua-time-limit | Lua脚本超时时间单位:毫秒 | 5000 | 整数,但是此超时不会真正停止脚本运行 | 支持 |
Redis集群 | ||||
cluster-enabled | 是否开启redis 集群 | yes | yes|no | 不支持 |
cluster-config-file | 集群配置文件 | nodes-6379.conf | nodes-{port}.conf | 不支持 |
cluster-node-timeout | 集群节点超时时间,单位毫秒 | 15000 | 整数 | 支持 |
cluster-slave-validity-factor | 从节点有效性判断因子,当从节点与主节点最后通信时间超过(cluster-node-timeout * slave-validity-factor + repl-ping-slave-period)时,对应从 节点不具备故障转移资格,防止断线时间过长的从节点进行故障转称。设置为0表示从节点永不过期。 | 10 | 整数 | 支持 |
cluster-migration-barrier | 主从节点切换需要的从节点数最小个数。 | 1 | 整数 | 支持 |
cluster-require-full-coverage | 集群是否需要所有的slot都分配给在线节点。才能正常访问。 | yes | yes|no | 不支持 |
慢查询 | ||||
slowlog-log-slower-than | 慢查询被记录的阀值。单位:微秒 | 10000 | 整数 | 支持 |
slowlog-max-len | 慢查询记录的条数。 | 128 | 整数 | 支持 |
latency-monitor-threshold | Redis服务内存延迟监控,0代表关闭 | 0 | 整数 | 支持 |
高级选项 | ||||
hash-max-ziplist-entries | hash数据结构优化参数 | 512 | 整数 | 支持 |
hash-max-ziplist-value | hash数据结构优化参数 | 64 | 整数 | 支持 |
list-max-ziplist-size | list数据结构优化参数 | -2 | -5|-4|-3|-2|-1 | 支持 |
list-compress-depth | list数据结构优化参数,0代表不可用 | 0 | 0|1|2|3 | 支持 |
set-max-intset-entries | set数据结构优化参数 | 512 | 整数 | 支持 |
zset-max-ziplist-entries | zset数据结构优化参数 | 128 | 整数 | 支持 |
zset-max-ziplist-value | zset数据结构优化参数 | 64 | 整数 | 支持 |
hll-sparse-max-bytes | hyperLogLog数据结构优化参数 | 3000 | 整数 | 支持 |
client-output-buffer-limit | 客户端输出缓冲区限制 | normal 0 0 slave 256mb 64mb 60 pubsub 32mb 8mb 60 |
整数 | 支持 |
相关推荐
Redis配置文件详解 Redis是一个开源的高性能键值对数据库,常用于实现缓存、消息队列等多种场景。配置文件是Redis运行的重要组成部分,它决定了Redis服务器的运行方式和性能特性。本篇详解将介绍Redis配置文件中的...
redis.conf配置文件详解
以下是对Redis配置文件中关键参数的详细解释: 1. **守护进程模式** (`daemonize`): 默认情况下,Redis不是以守护进程的方式运行,可以通过设置`daemonize yes`来启用,这样Redis会在后台运行,不占用终端。 2. **...
redis.conf Redis配置文件 下载 redis.conf 配置详解 Redis配置文件redis.conf 详解1.基本配置内存单位的表示# 1k => 1000 bytes# ...Redis 的详细介绍Redis 的下载地址
Redis 配置文件详解 Redis 配置文件是 Redis 服务器的核心配置文件,用于设置 Redis 服务器的各种参数,影响着 Redis 服务器的性能、安全性和可靠性。下面是对 Redis 配置文件的详细解释: 1. daemonize:指定 ...
本文将深入解读Redis配置文件中的关键参数及其作用,帮助读者更好地理解和优化Redis配置。 #### 1. 守护进程模式 (daemonize) - **默认状态**:Redis默认不以守护进程模式运行,即在前台运行。 - **配置说明**:...
### Redis配置文件详解 #### 一、概述 Redis是一款开源的键值对存储系统,以其高性能和灵活性著称。为了更好地管理和配置Redis实例,理解其配置文件中的各项参数至关重要。本文将详细介绍`redis配置文件说明详解....
Redis配置文件通常为`redis.conf`,它是Redis服务器启动时读取的主要配置文件。配置文件中的选项覆盖了Redis的各个方面,包括服务器端口、数据持久化、内存管理、安全控制、日志记录以及客户端限制等。下面将逐一...
cluster-config-file nodes.conf # 集群节点配置文件 cluster-node-timeout 5000 # 节点超时时间 appendonly yes # 开启 AOF 持久化 ``` - **启动 Redis 服务**: ```bash ps -ef | grep redis ``` ##### ...
Redis 配置文件详解 Redis 配置文件(redis.windows.conf)是 Redis 的核心配置文件,用于设置 Redis 服务器的各种参数。下面是配置文件的一些重要设置: * requirepass:设置 Redis 服务器的密码 * port:设置 ...
Redis配置文件详解 Redis的配置文件是redis.conf,下面详细介绍配置文件中的各个配置项: 1. `daemonize no`:设置Redis是否以守护进程方式运行,默认为no,表示Redis以前台进程方式运行。 2. `pidfile /var/run/...
Redis 的配置文件可以根据需要进行修改和优化,以提高 Redis 的性能和安全性。 ### 官方配置分类 Redis 的官方配置可以分为多个类别,包括 INCLUDES、MODULES、NETWORK、GENERAL、SNAPSHOTTING、REPLICATION、...
下面是对 Redis 的常用命令、配置文件、持久化、事务、主从复制、Jedis 使用的详细讲解。 Redis 常用命令 Redis 提供了很多有用的命令来管理和操作数据。下面是一些常用的 Redis 命令: * SET key value:设置...
### Redis配置文件参数详解 #### 一、概述 Redis 是一款高性能的键值对存储系统,广泛应用于缓存、消息队列以及实时数据分析等领域。为了更好地利用 Redis 的强大功能,理解其配置文件中的各项参数至关重要。本文...
配置文件详解: 1. **redis.conf**:这是Redis服务器的基础配置文件,用于设置服务器的基本参数,如端口、数据库数量等。在集群模式下,需要额外添加一些集群相关的配置项。 2. **cluster-enabled yes**:开启集群...
Redis 配置参数详解 Redis 作为流行的 NoSQL 数据库,配置参数的设置对其性能和安全性有着至关重要的影响。本文将对 Redis 配置参数进行详细的解释和分析。 GENERAL * `daemonize`:该参数用于指定 Redis 是否以...