首页 > 数据库 >Redis 安装与配置教程:单机、哨兵模式与集群模式

Redis 安装与配置教程:单机、哨兵模式与集群模式

时间:2024-08-19 13:23:03浏览次数:10  
标签:配置 单机 Redis sudo redis 模式 集群 节点

目录
  1. Redis 简介
  2. Redis 安装
  3. Redis 单机配置
  4. Redis 哨兵模式配置
  5. Redis 集群模式配置
  6. 总结

1. Redis 简介

Redis 是一个开源的键值对存储系统,支持丰富的数据结构,如字符串、哈希、列表、集合等。它被广泛用于缓存、会话存储、实时分析等场景。Redis 提供了多种部署模式,包括单机模式、哨兵模式(用于高可用性)和集群模式(用于水平扩展)。

2. Redis 安装

Redis 可以在多种操作系统上运行,以下是 Ubuntu 和 CentOS 上的安装步骤。

2.1 在 Ubuntu 上安装 Redis
  1. 更新包列表并安装 Redis:

    sudo apt-get update
    sudo apt-get install redis-server
    
  2. 安装完成后,Redis 服务会自动启动。你可以通过以下命令检查 Redis 服务状态:

    sudo systemctl status redis-server
    
2.2 在 CentOS 上安装 Redis
  1. 使用 yum 包管理器安装 Redis:

    sudo yum install epel-release
    sudo yum install redis
    
  2. 安装完成后,启动 Redis 服务并设置开机自启:

    sudo systemctl start redis
    sudo systemctl enable redis
    
  3. 检查 Redis 服务状态:

    sudo systemctl status redis
    

3. Redis 单机配置

Redis 的默认配置文件通常位于 /etc/redis/redis.conf/etc/redis.conf,你可以编辑此文件来调整 Redis 的行为。

3.1 主要配置项
  • bind: 指定 Redis 监听的 IP 地址,默认是 127.0.0.1。如果需要外部访问,修改为 0.0.0.0 或指定的 IP 地址。

    bind 0.0.0.0
    
  • port: Redis 服务的监听端口,默认是 6379

    port 6379
    
  • requirepass: 设置 Redis 的访问密码。

    requirepass yourpassword
    
  • appendonly: 启用 AOF 持久化机制,确保数据安全。

    appendonly yes
    
3.2 启动 Redis

配置完成后,重启 Redis 服务以应用更改:

sudo systemctl restart redis-server

4. Redis 哨兵模式配置

哨兵模式是 Redis 的一种高可用性方案,通过监控主节点的状态,实现自动故障转移和通知。

4.1 配置 Redis 主从复制
  1. 配置主节点:编辑主节点的配置文件 /etc/redis/redis.conf,确保如下配置:

    bind 0.0.0.0
    port 6379
    
  2. 配置从节点:在从节点的 Redis 配置文件中,添加如下配置,使其成为主节点的从节点:

    bind 0.0.0.0
    port 6380
    replicaof 192.168.1.100 6379  # 替换为主节点的 IP 和端口
    
  3. 启动从节点的 Redis 服务:

    sudo systemctl start redis-server@6380
    
4.2 配置 Redis 哨兵
  1. 创建哨兵配置文件 sentinel.conf,内容如下:

    port 26379
    dir /tmp
    sentinel monitor mymaster 192.168.1.100 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel failover-timeout mymaster 10000
    sentinel parallel-syncs mymaster 1
    
  2. 启动哨兵服务:

    redis-sentinel /path/to/sentinel.conf
    

    可以在多个服务器上启动多个哨兵实例,以提高可靠性。

5. Redis 集群模式配置

Redis 集群模式可以水平扩展 Redis,使其能够处理更大的数据集和更高的吞吐量。

5.1 创建 Redis 实例
  1. 在不同的服务器或同一服务器上的不同端口上启动多个 Redis 实例。每个实例都应该有一个独立的配置文件,例如 redis-7000.conf

    port 7000
    cluster-enabled yes
    cluster-config-file nodes-7000.conf
    cluster-node-timeout 5000
    appendonly yes
    
  2. 启动每个 Redis 实例:

    redis-server /path/to/redis-7000.conf
    
5.2 创建 Redis 集群

使用 redis-cli 创建集群:

redis-cli --cluster create 192.168.1.100:7000 192.168.1.101:7001 192.168.1.102:7002 \
 192.168.1.103:7003 192.168.1.104:7004 192.168.1.105:7005 --cluster-replicas 1

上述命令将在 6 个节点之间创建 Redis 集群,其中每个主节点有一个从节点。

5.3 验证集群配置

使用以下命令连接到 Redis 集群,并检查集群信息:

redis-cli -c -p 7000
> CLUSTER INFO

6. 总结

本教程介绍了如何安装 Redis,并配置单机模式、哨兵模式和集群模式。Redis 是一个功能强大且灵活的键值对存储系统,通过合理的配置和部署,可以在多种场景下提供高性能和高可用性的数据服务。希望这篇教程能帮助你更好地理解和使用 Redis。如果有任何问题或需要进一步的说明,欢迎提出!

标签:配置,单机,Redis,sudo,redis,模式,集群,节点
From: https://blog.csdn.net/boydoy1987/article/details/141245033

相关文章

  • SpringBoot中使用Redis
    SpringBoot中使用Redis1.在本地或者云端安装redis服务2.项目中使用2.1引入依赖<!--redisstart--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artif......
  • Redis的十大数据类型的常用命令(上)
    目录1.key的操作命令2.String的常用命令案例一:dy点赞案例二:文章的喜欢数3.List的常用命令案例:公众号订阅的消息4.Hash的常用命令案例:早期购物车设计5.Set的常用命令案例一:抽奖小程序案例二:朋友圈点赞案例三:朋友圈点赞6.Zset的常用集合(sortedset)案例一:根据商品......
  • redis 哨兵模式开启方案
    哨兵模式一、配置sentinel模式二、测试sentinel日志输出的状态信息环境准备准备三台系统为CentOS7的主机master:192.168.152.71slave1:192.168.152.72slave2:192.168.152.73.哨兵模式的介绍:Redis哨兵模式(RedisSentinel)用于提供高可用性和监控功能,主要......
  • uniapp页面分栏模式,如何设置,与开发
    目录配置分栏设置第一种,响应式,用媒体查询,在不同屏幕下的font-size的大小改变,不是很精准的等比例放大第二种,单位使用vw,vh,能够达到屏幕的自适应。(比较推荐使用)配置分栏设置第一种,响应式,用媒体查询,在不同屏幕下的font-size的大小改变,不是很精准的等比例放大第二种,单......
  • C++实现设计模式——Builder模式
    C++实现设计模式——Builder模式建造者模式定义建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品......
  • 在 C# 中处理 HttpClient 实例时,使用单例模式和 IHttpClientFactory,DNS缓存问题
    在C#中处理HttpClient实例时,使用单例模式和IHttpClientFactory都有各自的优缺点,尤其是在高并发情况下。以下是它们的对比及性能考虑:1.单例模式使用HttpClient优势:减少资源消耗:HttpClient是设计为复用的类,创建一个单例可以避免频繁创建和销毁HttpClient实例,从而减......
  • spring中bean的单例bean不是单例模式
    bean的单例不是单例模式。userService类型的bean可以有多个,单例bean是指name叫userService的bean只有一个。而单例模式,假如userService类是单例模式,那么用userService创建的对象就只有一个。这才叫单例模式。不然就不叫单例模式了。是为了防止创建多个对象造成的性能开销,所以限......
  • 过滤器模式
    过滤器模式(FilterPattern)或标准模式(CriteriaPattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。双龙物流 概要意图用于将对象的筛选过程......
  • 代理模式
    在代理模式(ProxyPattern)中,一个类代表另一个类的功能,这种类型的设计模式属于结构型模式。代理模式通过引入一个代理对象来控制对原对象的访问。代理对象在客户端和目标对象之间充当中介,负责将客户端的请求转发给目标对象,同时可以在转发请求前后进行额外的处理。在代理模式中,我们......
  • 设计模式 单例模式
    单例模式的定义单例模式是指确保一个类在任何情况下都只有一个实例,并且提供一个访问该单例的全局访问点。如何创建一个单例模式构造函数需要是private访问权限的,这样才能避免外部通过new创建实例;考虑对象创建时的线程安全问题;考虑是否支持延迟加载;考虑getInstanc......