当前位置:   article > 正文

redis配置文件redis.conf

redis配置文件


  • redis版本:redis-5.0.5.tar.gz

INCLUDES(引入文件)

include

# 可以创建多个.conf文件,在这里引入
include .\path\to\local.conf
include c:\path\to\other.conf
  • 1
  • 2
  • 3

MODULES(模块)

loadmodule

  • 启动时加载模块,如果服务器无法加载模块,它将中止
loadmodule /path/to/my_module.so
loadmodule /path/to/other_module.so
  • 1
  • 2

NETWORK(网络配置)

bind

  • 绑定本机的IP地址
# 一个主机多网卡对应多IP
# 默认bind 127.0.0.1,只能本机连接
# 不能绑定本机之外的IP,会导致启动失败
# 如果注释掉bind  或者 bind 0.0.0.0,则任何IP都可以连接redis
bind 127.0.0.1
  • 1
  • 2
  • 3
  • 4
  • 5

protected-mode yes

  • 保护模式是否开启
# 默认yes
# 保护模式是一层安全保护,避免互联网上打开的Redis实例被访问和利用
# 保护模式开启必须满足三个条件,开启后只有本机才可以访问redis,三个条件任何一个不满足,都不会开启保护机制
    # 1. protected-mode yes	//开启状态
    # 2. 没有bind 配置
    # 3. 没有设置密码
protected-mode yes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

port

  • 端口
# 默认6379
port 6379
  • 1
  • 2

timeout

  • 当客户端闲置多长时间后关闭连接
# 默认0,表示关闭该功能
timeout 0
  • 1
  • 2

GENERAL(常规配置)

daemonize

  • 是否启用守护进程
# yes-启用,默认是no,即不以守护进程方式运行
# windows不支持启用,若windows设置yes,则redis启动报错:NOT SUPPORTED ON WINDOWS daemonize no
daemonize yes
  • 1
  • 2
  • 3

databases

  • 数据库的数量
# 默认为16,dbId从0开始,默认使用db0数据库
databases 16
  • 1
  • 2

pidfile

  • redis进程文件的生成位置
pidfile /var/run/redis_6379.pid
  • 1

SNAPSHOTTING(RDB持久化配置)

save

- 多少秒内key值变化,则执行bgsave
- 可设置多个save,多个save只要满足一个就会执行bgsave
save <seconds> <changes>
save 900 1
save 300 10
save 60 10000

# 如需关闭RDB持久化的自动触发,注释掉所有的save,并打开save 空字符串,如下
save ""
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

stop-writes-on-bgsave-error

  • 当启用了RDB且最后一次后台保存数据失败,Redis是否停止接收数据
# 默认yes
# 这会让用户意识到数据没有正确持久化到磁盘上,否则没有人会注意到灾难(disaster)发生了。如果Redis重启了,那么又可以重新开始接收数据了
stop-writes-on-bgsave-error yes
  • 1
  • 2
  • 3

rdbcompression

  • 存储至本地数据库时是否压缩数据
# 默认yes
# Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
  • 1
  • 2
  • 3

rdbchecksum

  • 在存储快照后,是否让redis使用CRC64算法来进行数据校验
  • 校验会增加大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能
# 默认yes
rdbchecksum yes
  • 1
  • 2

dbfilename

  • 生成的快照的文件名
# 默认dump.rdb
dbfilename dump.rdb
  • 1
  • 2

dir

  • 设置快照文件的存放目录
# 默认./,当前目录,也就是redis的安装目录
dir ./
  • 1
  • 2

REPLICATION(redis的主从复制模式配置)

replicaof

  • 主节点的ip、port
replicaof <masterip> <masterport>
replicaof 127.0.0.1 6379
  • 1
  • 2

masterauth

  • 主节点密码
masterauth <master-password>
masterauth rafa
  • 1
  • 2

replica-serve-stale-data

  • 当slave与master的失去连接时,或者当同步数据正在进行时,slave的行为有两种不同的方式进行操作
# 默认yes
# yes:slave继续响应客户端的读请求,可能是过期的数据;如果这是第一次同步,则可能是空数据
# no:slave会抛出错误"SYNC with master in progress"(正在与master同步数据),来处理各种请求,除了 INFO 和 SLAVEOF 命令
replica-serve-stale-data yes
  • 1
  • 2
  • 3
  • 4

replica-read-only

  • slave是否只读
# 默认yes
# no:slave接受写操作,这样一般会出现数据不一致的情况
# 从redis 2.6开始,默认slave节点都是只读的
replica-read-only yes
  • 1
  • 2
  • 3
  • 4

repl-diskless-sync

  • 数据同步使用磁盘方式或者socket
# 默认no,磁盘方式(redis推荐使用该方式)
repl-diskless-sync no
  • 1
  • 2

SECURITY(安全配置)

requirepass

  • 设置redis连接密码
# 默认关闭
requirepass rafa
  • 1
  • 2

CLIENTS

maxclients

  • 设置同时连接的客户端的最大数量
# 默认10000
# 如果达到限制,redis将关闭所有新连接,并抛出max number of clients reached(已达到最大客户端数)
maxclients 10000
  • 1
  • 2
  • 3

MEMORY MANAGEMENT(内存管理)

maxmemory

  • 最大内存
# 64位系统:设置为0或者不设置则表示无限制
# 32位系统:最多使用3GB内存,32位的机器最大只支持4GB的内存,而系统本身就需要一定的内存资源来支持运行,所以限制最大3GB的可用内存
maxmemory <bytes>
maxmemory 300mb
  • 1
  • 2
  • 3
  • 4

maxmemory-policy

  • 最大内存淘汰策略,当redis达到最大内存时,redis将如何选择要删除的内容
# noeviction:不删除策略,直接返回错误(DEL请求和部分特殊请求除外),默认
# volatile-lru:从设置了过期时间的key中使用LRU算法(less recently used最近较少使用)删除
# allkeys-lru:从所有key中使用LRU算法进行删除
# volatile-random:从设置了过期时间的key中随机删除
# allkeys-random:从所有key中随机删除
# volatile-ttl:在设置了过期时间的key中,根据TTL算法(time to live过期时间最短)删除

# 当使用volatile-lru、volatile-random、volatile-ttl这三种时,如果没有key可以被淘汰,则和noeviction一样返回错误
maxmemory-policy noeviction
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

maxmemory-samples

  • 最大内存的样本数量,影响上面的淘汰策略的LRU、TTL算法 的 速度、准确性
# 上面的淘汰策略的LRU、TTL算法不是精确算法,而是近似算法(为了节省内存)
# 默认5,表示LRU/TTL算法取出5个的key,然后从中选择一个满足策略的key
# 5:会产生足够好的结果
# 10:非常接近真正的LRU,但需要更多的CPU
# 3:很快,但不是很准确
maxmemory-samples 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

LAZY FREEING

APPEND ONLY MODE(AOF持久化配置)

appendonly

  • 是否开启AOF持久化
# 默认no
appendonly no
  • 1
  • 2

appendfilename

  • AOF持久化的文件名
# 默认"appendonly.aof"
appendfilename "appendonly.aof"
  • 1
  • 2

appendfsync

  • 文件同步策略
# everysec,每秒执行一次,异步。默认
# always: 同步持久化,性能较差,数据完整性好
# no: 不同步
appendfsync everysec
  • 1
  • 2
  • 3
  • 4

no-appendfsync-on-rewrite

  • 文件同步策略设置为always、everysec时,后台的存储进程会执行大量的磁盘I/O操作,在某些Linux配置中,Redis可能会在fsync()调用上阻塞太长时间。请注意,目前还没有对此进行修复,因为即使在不同的线程中执行fsync也会阻止我们的同步write(2)调用
  • 为了缓解这个问题,可以使用以下选项来防止在BGSAVE或BGREWRITEOF进行时在主进程中调用fsync()
  • 这意味着,当另一个子级正在保存时,Redis的持久性与“appendfsync none”相同。实际上,这意味着在最坏的情况下(使用默认的Linux设置),可能会丢失长达30秒的日志
  • 如果您有延迟问题,请将此选项设置为yes,否则保留为从耐久性的角度来看,no是最安全的选择
# 默认no
no-appendfsync-on-rewrite no
  • 1
  • 2

auto-aof-rewrite-percentage

  • AOF重写时文件大小的增长率的最小值
# 默认100
auto-aof-rewrite-percentage 100
  • 1
  • 2

auto-aof-rewrite-min-size

  • AOF重写时文件大小的最小值
# 默认64mb
auto-aof-rewrite-min-size 64mb
  • 1
  • 2

aof-load-truncated

  • redis启动并加载AOF时,发现AOF文件的末尾被截断了,redis是否加载被截断的AOF文件
# yes:末尾被截断的AOF文件将会被加载,并打印日志通知用户。默认
# no:服务器将报错并拒绝启动,这时用户需要使用redis-check-aof工具修复AOF文件,再重新启动
aof-load-truncated yes
  • 1
  • 2
  • 3

aof-use-rdb-preamble

# 默认yes
aof-use-rdb-preamble yes
  • 1
  • 2

LUA SCRIPTING(LUA脚本)

REDIS CLUSTER(redis集群模式配置)

cluster-enabled

  • 是否开启redis集群模式
# 默认yes
cluster-enabled yes
  • 1
  • 2

cluster-config-file

cluster-config-file nodes-6379.conf
  • 1

CLUSTER DOCKER/NAT support(集群docker/NAT支持)

SLOW LOG(慢查询日志)

LATENCY MONITOR(延迟监视器)

EVENT NOTIFICATION(事件通知)

ADVANCED CONFIG(高级配置)

ACTIVE DEFRAGMENTATION(主动碎片整理)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/508402
推荐阅读
相关标签
  

闽ICP备14008679号