使用 Sentinel 实现 Redis 集群高可用部署

本文详细介绍了 Redis 的基本概念、安装及操作,重点讲解如何使用 Sentinel 实现 Redis 集群的高可用部署。通过 Sentinel 监控主从节点,当主节点故障时,Sentinel 自动完成故障切换,提升从节点为主。文中还涵盖了 Redis 的数据类型、持久化策略、主从复制配置以及 Sentinel 的工作原理和配置步骤。
摘要由CSDN通过智能技术生成

Redis 概述和安装 Redis

Redis 概述

Redis 的出现时间并不长,是 NoSQL 中的一种,基于键-值型的存储,在 2009 年第一次发布Redis。Redis 全称(Remote Dictionary Server)远程字典服务器,而这个字典服务器从本质上来讲,主要是提供数据结构的远程存储功能的,可以理解为 Redis 是一个高级的 K-V 存储和数据结构存储,因为 Redis 除了能够存储 K-V 这种简单的数据之外,还能够存储,列表、字典、hash 表、等对应的数据结构。

Redis 支持主从模式,Redis 能够借助于 Sentinel 工具来监控主从节点,当主节点发生故障时,会自己提升另外一个从节点成为新的主节点。

Redis 官网:https://redis.io/download

1、Redis 所支持的数据类型

支持存储的数据类型有、String(字符串,包含整数), List(列表), Hash(关联数组), Sets(集合), Sorted Sets(有序集合), Bitmaps(位图), HyperLoglog。

2、Redis 性能评估

(1)、100 万较小的键存储字符串,大概消耗 100M 内存
(2)、由于 Redis 是单线程,如果服务器主机上有多个 CPU,只有一个能够使用,但并不意味着 CPU 会成为瓶颈,因为 Redis 是一个比较简单的 K-V 数据存储,CPU 通常不会成为瓶颈的
(3)、在常见的 linux 服务器上,500K(50 万)的并发,只需要一秒钟处理,如果主机硬件较好的情况下,每秒钟可以达到上百万的并发

3、Redis 与 Memcache 对比
(1)、Memcache 只能使用内存来缓存对象。而 Redis 除了可以使用内存来缓存对像,还可以周期性的将数据保存到磁盘上,对数据进行永久存储。当服务器突然断电或死机后, redis 基于磁盘中的数据进行恢复。
(2)、Redis 是单线程服务器,只有一个线程来响应所有的请求。Memcache 是多线程的
(3)、Redis 支持更多的数据类型

安装 Redis

1. 安装 Remi repository 源
扩展:Remi repository 是什么源?
Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。有了这个源之后,使用 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序的时候就非常方便了。但与此同时,Remi 源也提供了目前最新版本的 Redis,可以通该源使用 YUM 安装目前最新版本的 Redis。

2. 在安装 Remi repository 源时,需要依赖 epel 源,因此先安装 epel 源

[root@centos60 ~]# yum -y install epel-release

3. 安装 remi repository 源

[root@centos60 ~]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

4. 使用 remi repository 源安装 Redis

[root@centos60 ~]# yum --enablerepo=remi install -y redis         #选用 remi 源进行安装redis

注:--enablerepo=remi 指定某个yum源来进行安装,前提是有remi源

5. 查看 Redis 版本

[root@centos60 ~]# redis-cli --version
redis-cli 6.0.9

6. 启动 Redis

[root@centos60 ~]# systemctl start redis

[root@centos60 ~]# netstat -anput  | grep redis
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      39030/redis-server

注:redis 默认监听 6379 端口

 

Redis 基本操作

Redis 配置文件参数说明

Redis 配置文件存放路径:/etc/redis.conf

[root@centos60 ~]# vim /etc/redis.conf

0.0.0.0 表示所有的IP地址.

protected-mode yes #protected-mode 参数是为了禁止外网访问 redis,如果启用了,则只能够通过 lookback ip(97.0.0.1)访问 Redis。
port 6379 #默认监听端口:6379。
tcp-backlog 511  #指定 tcp-backlog 的长度。backlog 是一个等待队列。当有大量请求需要redis 处理时,redist 有可能处理不过来,需要等待的请求队列会通过 backlog 来缓存。backlog 的数量决定了可以缓存的队列数。
unixsocket /tmp/redis.sock #指定使用 sock 文件通信及 sock 文件位置,如果服务端和客户都在同一台主机上,建议打开此项,基于 sock 方式通信可以直接在内存中交换,数据不用再经过 TCP/TP协议栈进行封装、拆封。
unixsocketperm 700  #定义 sock 文件的访问权限。
timeout 0 #表示当客户端连接成功后,空闲(非活跃、或没有任何数据交互)多长时间则连接超时,0 表示不启用此功能。
tcp-keepalive 300 #定义是否启用 tcp-keepalive 功能。长链接功能。300秒
daemonize no #如果需要在后台运行,把该项改为 yes。如果使用 redis 服务脚本启动,即使daemonize 为 no,也会运行为一个守护进程。如果是源码编译安装的,则为脚本启动了,此项改为yes
supervised no #定义是 upstart 还是 systemd 接管 redis 进程。默认无监督互动,不需要修改。
loglevel notice  #定义日志级别。
logfile /var/log/redis/redis.log #定义日志文件。
databases 16 #定义 redis 默认有多少个 databases,但是在分布式中,只能使用一个。
# masterauth <master-password> #如果连接主数据库时需要密码验证,这里指定密码。默认不启用。
# 限制同时连接的客户端数量。超过数量将不再接受新的请求并返回错误信息。
# maxclients 10000 #设置同时连接 redis 客户端的最大数量。

登录 Redis

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值