DukeDuke
主页
项目文档
技术文档
  • 单机版
  • 微服务
  • 代办项目
  • 优鲜项目
项目管理
关于我们
主页
项目文档
技术文档
  • 单机版
  • 微服务
  • 代办项目
  • 优鲜项目
项目管理
关于我们
  • 技术文档

    • 网络原理

      • 交换机
      • 路由器
      • TCP/IP协议
      • HTTP 与 HTTPS
    • 软件架构

      • 什么是软件架构
      • 分层架构
      • 微服务架构
      • 事件驱动架构
      • 领域驱动设计(DDD)
      • 架构图
      • 高并发系统
    • Vue3

      • Vue3简介
      • Vue3响应式系统
      • Vue3组合式API
      • Vue3生命周期
      • Vue3模板语法
      • Vue3组件系统
      • Vue3 路由系统
      • Vue3 状态管理
      • Vue3 性能优化
      • Vue3 TypeScript 支持
      • Vue3 项目实战
      • VUE 面试题大全
      • Node.js 安装
    • JAVA

      • JVM

        • 认识JVM
        • JVM类加载器
        • 运行时数据区
        • 执行引擎
        • 本地方法接口
        • 本地方法库
        • JVM垃圾回收
        • JVM性能监控
        • JVM调优
      • 设计模式
        • 单例模式
        • 工厂模式
        • 策略模式
        • 适配器模式
        • 建造者模式
        • 原型模式
        • 装饰器模式
        • 代理模式
        • 外观模式
        • 享元模式
        • 组合模式
        • 桥接模式
      • Java多线程

        • Java 线程基础详解
        • Java 线程池详解
        • Java ThreadLocal 详解
        • Java volatile 详解
        • Java 线程间通信详解
        • Java 线程安全详解
        • Java 线程调度详解
        • Java 线程优先级详解

        • Java 线程中断详解
        • Java 线程死锁详解
      • Java反射
      • Java 面试题

        • Java 基础概念面试题
        • Java 面向对象编程面试题
        • Java 集合框架面试题
        • Java 多线程与并发面试题
        • JVM 与内存管理面试题
        • Java I/O 与 NIO 面试题
        • Java 异常处理面试题
        • Java 反射与注解面试题
        • Java Spring 框架面试题
        • Java 数据库与 JDBC 面试题
        • Java 性能优化面试题
        • Java 实际项目经验面试题
        • Java 高级特性面试题
        • Java 面试准备建议
    • Python

      • Python简介
      • Python安装
      • Python hello world
      • Python基础语法
      • Python数据类型
      • Python数字
      • Python字符串
      • Python列表
      • Python元组
      • Python字典
      • Python日期时间
      • Python文件操作
      • Python异常处理
      • Python函数
      • Python类
      • Python模块
      • Python包
      • Python多线程
      • Python面向对象
      • Python爬虫
      • Django web框架
      • Python 面试题

        • Python 面试题导航
        • Python 基础概念
        • Python 面向对象编程
        • Python 数据结构
        • Python 高级特性
        • Python 框架
        • Python 性能优化
        • Python 项目经验
    • Spring

      • Spring
      • Springboot
      • Spring Security 安全框架
      • SpringBoot 中的事件详解
      • SpringBoot 中的定时任务详解
      • SpringBoot 自动装配原理与源码解释
    • Mybatis

      • Mybatis
      • Mybatis-Plus
    • 数据库

      • Redis

        • Redis简介
        • Redis(单机)安装
        • Redis配置
        • Redis数据结构
        • RDB、AOF 和混合持久化机制
        • Redis内存管理
        • Redis缓存一致性
        • Redis缓存穿透
        • Redis缓存击穿
        • Redis缓存雪崩
        • Redis Lua脚本
        • Redis主从复制
        • Redis哨兵模式
        • Redis集群
        • Redis数据分片
        • Redis CPU使用率过高
        • Redis面试题
      • MySQL

        • MySQL简介
        • MySQL安装
        • MySQL配置
        • MYSQL日常维护
        • MYSQL优化-慢查询
        • MYSQL优化-索引
        • MYSQL数据库设计规范
    • 消息队列

      • RocketMQ
      • Kafka
      • RabbitMQ
      • 消息队列面试题
    • 微服务

      • SpringCloud 微服务
      • Eureka 注册中心
      • Nacos 注册中心
      • Gateway 网关
      • Feign 服务调用
      • Sentinel 限流 与 熔断
      • Seata 分布式事务
      • CAP 理论
      • Redis 分布式锁
      • 高并发系统设计
    • ELK日志分析系统

      • Elasticsearch 搜索引擎
      • Logstash 数据处理
      • Kibana 可视化
      • ELK 实战
    • 开放API

      • 开放API设计
      • 开放API示例项目
    • 人工智能

      • 人工智能简介
      • 机器学习

      • 深度学习

      • 自然语言处理

      • 计算机视觉

        • CUDA与cuDNN详细安装
        • Conda 安装
        • Pytorch 深度学习框架
        • yolo 目标检测
        • TensorRT 深度学习推理优化引擎
        • TensorFlow 机器学习
        • CVAT 图像标注
        • Windows 下安装 CUDA、cuDNN、TensorRT、TensorRT-YOLO 环境
        • Windows10+CUDA+cuDNN+TensorRT+TensorRT-YOLO 部署高性能YOLO11推理
    • 大数据

      • 大数据简介
      • Hadoop 数据存储
      • Flume 数据采集
      • Sqoop 数据导入导出
      • Hive 数据仓库
      • Spark 数据处理
      • Flink 数据处理
      • Kafka 数据采集
      • HBase 数据存储
      • Elasticsearch 搜索引擎
    • 图像处理

      • 图像处理简介
      • 医学图像web呈现
      • 医学图像处理
      • 切片细胞分离问题
    • 服务器&运维

      • Linux 系统

        • Linux 系统管理
        • Linux 网络管理
        • Linux 文件管理
        • Linux 命令大全
      • Nginx Web 服务器

        • Nginx 安装 与 配置
        • Nginx 负载均衡
        • Nginx SSL证书配置
        • Nginx Keepalived 高可用
      • Docker 容器

        • Docker 简介
        • Docker 安装与配置
        • Docker 命令
        • Docker 部署 Nginx
        • Docker 部署 MySQL
        • Docker 部署 Redis
      • 服务器

        • 塔式服务器
        • 机架式服务器
        • 刀片服务器
      • Git 版本控制
      • Jenkins 持续集成
      • Jmeter 性能测试
      • Let's Encrypt 免费SSL证书
    • 简历

      • 项目经理简历
      • 开发工程师简历

Redis 8.0 配置文件详解

1. 网络配置

# redis.conf

bind 127.0.0.1  # 绑定的IP地址,默认只允许本地访问
protected-mode yes  # 是否开启保护模式,开启后只允许bind指定的IP访问
port 6379  # Redis服务端口
tcp-backlog 511  # TCP连接队列长度
timeout 0  # 客户端空闲超时时间,0表示不关闭
tcp-keepalive 300  # TCP keepalive时间

2. 通用运行参数配置

# redis.conf

daemonize no  # 是否以守护进程运行
supervised no  # 是否使用upstart或systemd管理Redis进程
pidfile /var/run/redis_6379.pid  # pid文件位置
loglevel notice  # 日志级别:debug/verbose/notice/warning
logfile ""  # 日志文件位置
databases 16  # 数据库数量

3. 持久化配置

3.1 RDB 快照配置

# redis.conf

save 900 1  # 900秒内有1个修改
save 300 10  # 300秒内有10个修改
save 60 10000  # 60秒内有10000个修改
stop-writes-on-bgsave-error yes  # 当bgsave出错时停止写入
rdbcompression yes  # 是否压缩RDB文件
rdbchecksum yes  # 是否校验RDB文件
dbfilename dump.rdb  # RDB文件名
dir ./  # RDB文件保存目录

3.2 AOF 持久化配置

# redis.conf

appendonly no  # 是否开启AOF持久化
appendfilename "appendonly.aof"  # AOF文件名
appendfsync everysec  # AOF同步策略
no-appendfsync-on-rewrite no  # 重写时是否同步
auto-aof-rewrite-percentage 100  # AOF重写触发条件
auto-aof-rewrite-min-size 64mb  # AOF重写最小大小

4. 主从复制配置

# redis.conf

replica-serve-stale-data yes  # 当从库与主库断开连接时,是否继续提供服务
replica-read-only yes  # 从库是否只读
repl-diskless-sync no  # 是否使用无磁盘复制
repl-diskless-sync-delay 5  # 无磁盘复制延迟时间
replica-priority 100  # 从库优先级

5. 安全配置

# redis.conf

requirepass foobared  # 设置访问密码
rename-command CONFIG ""  # 禁用命令

6. 内存管理

# redis.conf

maxmemory <bytes>  # 最大内存限制
maxmemory-policy noeviction  # 内存达到上限时的处理策略
maxmemory-samples 5  # 内存策略采样数

7. 集群配置

# redis.conf

cluster-enabled yes  # 是否启用集群模式
cluster-config-file nodes-6379.conf  # 集群配置文件
cluster-node-timeout 15000  # 集群节点超时时间
cluster-replica-validity-factor 10  # 从节点有效性因子
cluster-migration-barrier 1  # 迁移屏障
cluster-require-full-coverage yes  # 是否需要完整覆盖

8. 监控配置

8.1 慢查询配置

# redis.conf

slowlog-log-slower-than 10000  # 慢查询阈值(微秒)
slowlog-max-len 128  # 慢查询日志长度

8.2 延迟监控配置

# redis.conf

latency-monitor-threshold 0  # 延迟监控阈值

8.3 事件通知配置

# redis.conf

notify-keyspace-events ""  # 键空间通知配置

9. 高级配置

9.1 数据类型编码配置

# redis.conf

hash-max-ziplist-entries 512  # hash使用ziplist编码的最大条目数
hash-max-ziplist-value 64  # hash使用ziplist编码的最大值长度
list-max-ziplist-entries 512  # list使用ziplist编码的最大条目数
list-max-ziplist-value 64  # list使用ziplist编码的最大值长度
set-max-intset-entries 512  # set使用intset编码的最大条目数
zset-max-ziplist-entries 128  # zset使用ziplist编码的最大条目数
zset-max-ziplist-value 64  # zset使用ziplist编码的最大值长度

9.2 过期策略配置

# redis.conf

# 过期键的删除策略
maxmemory-policy volatile-lru  # 内存达到上限时的处理策略
# 可选值:
# noeviction: 不删除,返回错误
# allkeys-lru: 删除最近最少使用的键
# volatile-lru: 删除设置了过期时间的键中最近最少使用的
# allkeys-random: 随机删除任意键
# volatile-random: 随机删除设置了过期时间的键
# volatile-ttl: 删除即将过期的键
# volatile-lfu: 删除设置了过期时间的键中访问频率最少的
# allkeys-lfu: 删除访问频率最少的键

# 过期键的采样数量
maxmemory-samples 5  # 每次采样时检查的键数量

# 过期键的检查频率
hz 10  # 每秒执行的后台任务频率

9.3 客户端配置

# redis.conf

# 客户端连接限制
maxclients 10000  # 最大客户端连接数
client-output-buffer-limit normal 0 0 0  # 普通客户端输出缓冲区限制
client-output-buffer-limit slave 256mb 64mb 60  # 从节点输出缓冲区限制
client-output-buffer-limit pubsub 32mb 8mb 60  # 发布订阅客户端输出缓冲区限制

# 客户端超时设置
timeout 0  # 客户端空闲超时时间(秒)
tcp-keepalive 300  # TCP keepalive时间(秒)

9.4 性能调优配置

# redis.conf

# 内存优化
activedefrag yes  # 是否启用主动碎片整理
active-defrag-ignore-bytes 100mb  # 碎片整理的最小碎片大小
active-defrag-threshold-lower 10  # 碎片整理的最小碎片百分比
active-defrag-threshold-upper 100  # 碎片整理的最大碎片百分比
active-defrag-cycle-min 25  # 碎片整理的最小CPU使用率
active-defrag-cycle-max 75  # 碎片整理的最大CPU使用率

# 后台任务配置
lazyfree-lazy-eviction no  # 是否异步删除过期键
lazyfree-lazy-expire no  # 是否异步删除过期键
lazyfree-lazy-server-del no  # 是否异步删除服务器命令删除的键
replica-lazy-flush no  # 是否异步清空从节点数据

10. 配置说明

  1. 网络配置:控制 Redis 服务器的网络连接参数,包括绑定 IP、端口、连接超时等。

  2. 通用配置:设置 Redis 的基本运行参数,如守护进程模式、日志级别等。

  3. 持久化配置:控制 RDB 和 AOF 持久化的相关参数,包括保存条件、压缩选项等。

  4. 主从复制配置:设置主从复制的相关参数,控制数据同步和故障转移行为。

  5. 安全配置:提供访问控制和命令重命名等安全特性。

  6. 内存管理:控制内存使用限制和内存达到上限时的处理策略。

  7. 集群配置:Redis Cluster 模式的相关参数设置。

  8. 监控配置:包括慢查询、延迟监控和事件通知等监控功能。

  9. 高级配置:包含数据类型编码、过期策略、客户端管理和性能调优等高级特性。

11. 最佳实践建议

  1. 生产环境建议开启 protected-mode 并设置强密码
  2. 根据实际需求调整内存限制和持久化策略
  3. 合理配置主从复制参数以确保数据安全
  4. 根据业务特点调整数据类型编码参数
  5. 建议开启慢查询日志以便性能优化
  6. 集群环境需要特别注意网络和超时设置
  7. 根据业务特点选择合适的过期策略:
    • 对于缓存场景,建议使用 volatile-lru 或 volatile-ttl
    • 对于持久化数据,建议使用 noeviction
    • 对于内存敏感场景,可以使用 allkeys-lru
  8. 合理设置客户端缓冲区限制,防止内存溢出:
    • 普通客户端通常不需要限制
    • 从节点和发布订阅客户端需要适当限制
  9. 性能调优建议:
    • 在内存碎片较多时启用主动碎片整理
    • 根据服务器性能调整碎片整理参数
    • 对于大键删除,建议启用异步删除
最近更新:: 2025/8/14 09:20
Contributors: Duke
Prev
Redis(单机)安装
Next
Redis数据结构