星途物语 星途物语
首页
  • 随手记录
  • 故障处理
  • Nginx
  • MySQL
  • Ansible
  • Nexus
  • Tomcat
  • Docker
  • Zabbix
  • Prometheus
  • Git
  • GitLab
  • Jenkins
  • Kubernetes
  • Shell
  • Python
  • 圈圈空间
  • 做饭这件事
收藏站点
留言板
归档
GitHub (opens new window)

星途物语

尚记时,记之
首页
  • 随手记录
  • 故障处理
  • Nginx
  • MySQL
  • Ansible
  • Nexus
  • Tomcat
  • Docker
  • Zabbix
  • Prometheus
  • Git
  • GitLab
  • Jenkins
  • Kubernetes
  • Shell
  • Python
  • 圈圈空间
  • 做饭这件事
收藏站点
留言板
归档
GitHub (opens new window)
  • 随手记录

    • QPS优化记录
    • 阿里云SLB演示
    • DDOS预防
    • Linux内核优化
    • rsync同步守护进程
    • NFS文件同步
    • Tomcat升级
    • 编译安装mysql后添加到systemd管理
    • 防火墙笔记
    • python自动化巡检服务器
  • 故障处理

    • 处理防MIME攻击后出现的问题解决
  • MySQL学习笔记

    • MySQL5.7安装
    • MySQL常用操作语句
    • MySQL主从架构实施
    • MySQL主主架构实施
    • MySQL MHA高可用实施
    • MyCat读写分离
    • MySQL创建用户时的授权
    • MySQL备份
    • MySQL通配符
  • Nginx学习笔记

    • 状态码含义
    • 匹配优先级
    • Nginx常用操作
    • 添加第三方模块
    • 关于路径匹配
    • 转发和重写
    • 内置变量
    • Nginx配置文件结构
  • Tomcat学习笔记

    • 部署Tomcat
    • 修改发布目录
    • Tomcat调优
  • Redis学习笔记

    • 通过 tar.gz 包安装部署 redis
    • redis 配置文件
    • 哨兵集群
    • redis常用命令
    • 虚拟机安装 redis.tar.gz 遇到的问题
  • Ansible学习笔记

    • 部署和使用 ansible
    • ansible 自带的密码认证参数
    • 批量免密操作:批量分发公钥
    • 配置主机清单
    • ansible 小知识
    • 模块介绍
    • 剧本
    • 一键部署 rsync 环境
    • 批量安装一个tomcat
    • 批量安装一个nginx
    • 批量安装 zabbix-agent
  • Zabbix学习笔记

    • 部署 zabbix 服务端、客户端
    • 自定义监控
    • 触发器
    • 监控项类型
    • 简单检查模式
    • zabbix web 界面结构信息
    • 邮件报警
    • 微信报警
    • snmp 监控网络设备
    • 部署 zabbix 服务端、客户端
    • jmx 监控 java 应用
    • ipmi 监控硬件
    • 自动化注册
    • 监控项的主要项和相关项
    • percona 监控 mysql
  • Git学习笔记

    • 配置 git
    • 常用命令
  • GitLab学习笔记

    • 环境准备
    • 安装 gitlab
    • gitlab 忘记 root 管理员密码的处理办法
  • Jenkins学习笔记

    • 安装部署
    • jenkins 使用脚本完成项目构建
    • jenkins 自动构建最新项目
    • 将 jenkins 自动部署的结果返回给 gitlab
    • jenkins 上线 java 项目
    • jenkins pipeline
  • Docker学习笔记

    • 安装 docker
    • 配置 docker 源
    • docker 中的常见名词
    • 镜像管理命令
    • 容器管理命令
    • 创建容器
    • 数据卷
    • docker network
    • 搭建 LNMP
    • Dockerfile
    • Dockerfile 搭建 tomcat
    • docker 镜像磁盘扩容
    • docker composer
    • Harbor 私有镜像仓库
    • docker 面试题
    • docker desktop 运行时与虚拟机冲突
    • docker离线安装
  • Nexus学习笔记
  • Prometheus学习笔记

    • 核心组件
    • 工作原理
    • 安装和配置
    • 启动 Prometheus
    • PromQL 使用
    • 数据模型
    • Exporter
    • 演示服务
    • Grafana 数据可视化
    • Prometheus 告警
  • Kubernetes学习笔记

    • K8S的介绍
    • K8S集群环境的搭建
    • K8S资源管理
    • K8S的实战入门
  • 运维
  • Redis学习笔记
星途物语
2025-01-01

redis 配置文件

1.基本网络配置

bind 127.0.0.1:默认情况下是环路配置,此时只允许本机中的客户端连接 redis server,可以修改为 0.0.0.0 允许在任意主机下进行连接

protected-mode yes:启用保护模式,在没有密码保护的情况下,Redis 只允许本地连接,这是为了防止未授权的访问,企业环境中通常会将此设置为 yes 并配置密码

port 6379:应用服务端口

2.持久化配置


RDB:快照配置项,定期保存数据快照,用于数据备份和灾难恢复

可以在 Redis 配置文件 redis.conf 中查找 dir 和 dbfilename 配置项,确定 RDB 文件的路径

如果你有一个备份的 RDB 文件,并希望恢复数据,你需要将备份的 RDB 文件复制到 Redis 服务器的工作目录,并替换现有的 dump.rdb 文件

save <seconds> <changes>:在指定时间内数据发生指定次数变更时触发快照,多个条件可以叠加

save 900 1      # 15分钟内至少有1个key发生变化
save 300 10     # 5分钟内至少有10个key发生变化
save 60 10000   # 1分钟内至少有10000个key发生变化
1
2
3

通过执行 BGSAVE 命令,可以手动生成 RDB 快照

stop-writes-on-bgsave-error yes:控制当 Redis 在执行后台保存(BGSAVE)操作时遇到错误时,是否停止接受写操作

redis 默认是开启 RDB 备份的,如果需要关闭 RDB 备份:

1.注释掉所有的 save 选项

2.将 stop-writes-on-bgsave-error 选项的值修改为 no,代表当 redis 执行 BGSAVE 命令发生错误时,仍然继续执行当前写操作


AOF:通过记录每一个写操作来实现持久化,Redis 会将所有的写操作命令追加到 AOF 文件中

可以通过查看配置文件中的 appendfilename 和 dir 配置项来确定 AOF 文件的位置

如果你有一个备份的 AOF 文件,并希望恢复数据,你需要将备份的 AOF 文件复制到 Redis 的工作目录,并替换现有的 AOF 文件

appendonly no:将其改为 yes,以启用 AOF

appendfsync always:每次有写操作时都进行同步,最安全,但性能最差

appendfsync everysec:每秒同步一次,默认设置,平衡性能和安全性

appendfsync no:由操作系统自行决定何时进行同步,性能最好,但数据可能会丢失

随着时间的推移,AOF 文件可能会变得非常大,Redis 支持自动重写 AOF 文件以减小文件大小,这个过程会生成一个新的 AOF 文件,包含相同的数据但不包含重复或无效的命令

auto-aof-rewrite-percentage 100:AOF 文件大小增长超过上次重写后的100%时触发重写

auto-aof-rewrite-min-size 64mb:AOF 文件大小至少达到 64MB 时才能触发重写


3.内存管理配置

maxmemory <bytes>:设置 Redis 可以使用的最大内存,当 Redis 达到这个限制时,会根据指定的淘汰策略(如 maxmemory-policy)删除旧数据,常用的单位有:kb、mb、gb

maxmemory-policy allkeys-lru:设置内存淘汰策略,常见的策略如 allkeys-lru(最近最少使用淘汰)

​ 其他的选项还有:

​ noeviction,当内存达到 maxmemory 限制时,不会驱逐任何数据。新写入操作将返回错误,读操作仍然可以正常进行

​ allkeys-lru:在所有键中使用 LRU(Least Recently Used,最近最少使用)算法淘汰最久未使用的数据

​ volatile-lru:只在设置了过期时间的键中使用 LRU 算法淘汰最久未使用的数据

​ allkeys-random:在所有键中随机淘汰数据

​ volatile-random:只在设置了过期时间的键中随机淘汰数据

​ 等等...

4.日志和监控

loglevel notice:设置日志级别,notice 级别在企业中较为常用,能够记录重要的信息而不会生成过多的日志

logfile "/var/log/redis/redis.log":指定 Redis 日志文件的路径,企业中会将日志定向到指定的日志文件以便于统一管理和监控,如果将 logfile 设置为空字符串 "",意味着 Redis 不会将日志输出到文件,而是会将日志输出到标准输出

5.复制和高可用

redis 基本主从配置:

主节点(Master)配置:主节点无需特别的配置,默认情况下,Redis 实例会作为主节点运行

从节点(Slave)配置:在从节点的配置文件中,需要设置以下参数来指定主节点

slaveof <master-ip[主节点 IP ]> <master-port[主节点端口]>

如果主节点启用了密码验证,从节点也需要配置相应的密码

masterauth <master-password[主节点密码]>

在从节点启动时,会自动与主节点进行数据同步

replica-priority <priority>:用于设置从节点(Replica)的优先级,在主节点发生故障时会选择具有最高优先级的从节点作为新的主节点

slave-read-only yes:确保从节点只能执行读操作,避免数据不一致

6.安全配置

requirepass <password>:设置 Redis 的访问密码,确保只有授权的用户才能访问

rename-command CONFIG "":禁用或重命名敏感命令(如 CONFIG),防止未授权用户修改 Redis 配置

7.性能优化

tcp-backlog 511:配置 TCP 连接的 backlog 队列大小,影响 Redis 在高并发场景下的连接处理能力

tcp-keepalive 300:设置 TCP keepalive 间隔,防止长时间未活动的连接占用资源

#Redis
通过 tar.gz 包安装部署 redis
哨兵集群

← 通过 tar.gz 包安装部署 redis 哨兵集群→

Theme by Vdoing | Copyright © 2025-2025 | 鄂ICP备2024086820号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式