手把手教你如何搭建redis集群(一)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 手把手教你如何搭建redis集群(一)

一、Redis简介

Redis(Remote Dictionary Server 远程字典服务)是一个开源的高性能key-value数据库,它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供 list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

为什么用Redis?

一个字,快!传统的关系型数据库如 Mysql 等已经不能适用所有的场景了,比如在高并发,访问流量高峰等情况时,数据库很容易崩了。Redis 运行在内存,能起到一个缓冲作用,由于内存的读写速度远快于硬盘,因此 Redis 在性能上比其他基于硬盘存储的数据库有明显的优势。

同时除了快之外,还可应用于集群的自动容灾切换以及数据的读写分离,减轻高并发的压力。


二、Redis 安装部署

1、下载安装包

官网下载地址,这里我们下载目前最新稳定版7.0.6,直接点击下载。

或者直接使用命令下载,如下:

wget http://download.redis.io/releases/redis-7.0.6.tar.gz

2、安装

首先解压安装包,如下

tar xzf redis-7.0.6.tar.gz


进入解压文件目录使用make命令对解压的 redis 文件进行编译,如下

cd redis-7.0.6/
make

注意 提示/bin/sh:行1: cc:未找到命令,执行下面命令

yum install gcc-c++ -y


编译完成之后,可以看到解压文件 redis-5.0.7 中会有对应的 src、conf 等文件,如下


编译成功后,进入 src 文件夹,执行 make install 进行 Redis 安装。

cd src/
make install

安装完成后,显示如下


3、部署

由于 src 下文件非常多,我们可以将几个常用的命令和 conf 配置文件复制出来进行统一管理,如下:

(1)新建 bin 和 etc 文件夹

cd /root/redis-7.0.6/
mkdir etc
mkdir bin

(2)回到安装目录,将redis.conf复制到 ect 文件夹下

cp redis.conf /root/redis-7.0.6/etc

(3)进入 src 文件夹下,将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-rdb、redis-cli、redis-server、redis-sentinel文件复制到 bin 文件夹

cd src/
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel /root/redis-7.0.6/bin/

查看复制后的文件,如下


4、启动redis服务

切换到 bin 目录,使用./redis-server即可启动 redis 服务,但是这种方式没有指明配置文件,redis 将采用默认配置,所以我们需要让 redis 按照我们的配置文件来启动,如下,启动时指定刚才我们复制到 etc 文件夹下的redis.conf。

cd /root/redis-7.0.6/bin
# 加上 '&' 表示在后台运行,也可修改配置文件redis.conf中的daemonize为yes
./redis-server /root/redis-7.0.6/etc/redis.conf


启动后查看redis的进程,如下,可以看到6379端口就是我们运行的 redis 服务(配置文件中默认端口为6379)。


使用redis-cli命令连接客户端,如下


5、关闭redis服务

如果需要关闭redis服务,使用如下命令即可关闭。

redis-cli -p 6379 shutdown


三、Redis 集群整体架构

这里我们采用的集群整体架构就是主从结构+哨兵(sentinel),实现容灾的自动切换,如下图所示:

一个主节点(master)可拥有多个从节点(slave),从节点实现对主节点的复制,保证数据同步。而哨兵(sentinel)则对各节点进行监控,主要包括主节点存活检测、主从运行情况检测等,一旦主节点宕机,哨兵可自动进行故障转移 (failover)、主从切换。


接下来就开始搭建这样一个集群,首先是主从结构,然后是哨兵模式,接着往下看。


手把手教你如何搭建redis集群(二):https://developer.aliyun.com/article/1537440

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
5月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
13天前
|
存储 NoSQL Redis
redis主从集群与分片集群的区别
主从集群通过主节点处理写操作并向从节点广播读操作,从节点处理读操作并复制主节点数据,优点在于提高读取性能、数据冗余及故障转移。分片集群则将数据分散存储于多节点,根据规则路由请求,优势在于横向扩展能力强,提升读写性能与存储容量,增强系统可用性和容错性。主从适用于简单场景,分片适合大规模高性能需求。
25 5
|
4月前
|
监控 NoSQL Redis
看完这篇就能弄懂Redis的集群的原理了
看完这篇就能弄懂Redis的集群的原理了
152 0
|
6月前
|
存储 运维 NoSQL
Redis Cluster集群模式部署
Redis Cluster集群模式部署
127 4
|
6月前
|
监控 NoSQL 算法
手把手教你如何搭建redis集群(二)
手把手教你如何搭建redis集群(二)
432 1
|
5月前
|
存储 NoSQL 算法
Redis 集群模式搭建
Redis 集群模式搭建
100 5
|
5月前
|
存储 缓存 NoSQL
高并发架构设计三大利器:缓存、限流和降级问题之Redis用于搭建分布式缓存集群问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之Redis用于搭建分布式缓存集群问题如何解决
102 1
|
5月前
|
缓存 NoSQL Java
Redis Spring配置集群
【7月更文挑战第5天】
82 10
|
4月前
|
NoSQL Redis
Redis——单机迁移cluster集群如何快速迁移
Redis——单机迁移cluster集群如何快速迁移
150 0