由于项目需要,搭建了一个 Redis 服务器集群,实现了主从配置和容灾部署,使得主机出现故障时,可自动进行容灾切换,下面就详细讲解一下如何利用 Redis 来实现。
文章重点
1、Redis 入门简介
2、Redis 安装部署
3、Redis 集群整体架构
4、Redis 主从配置及数据同步
5、Redis 哨兵模式搭建
一、Redis 入门简介
Redis(Remote Dictionary Server 远程字典服务)是一个开源的高性能key-value数据库,它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,官网:https://redis.io/。
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供 list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
为什么用Redis?
一个字,快!传统的关系型数据库如 Mysql 等已经不能适用所有的场景了,比如在高并发,访问流量高峰等情况时,数据库很容易崩了。Redis 运行在内存,能起到一个缓冲作用,由于内存的读写速度远快于硬盘,因此 Redis 在性能上比其他基于硬盘存储的数据库有明显的优势。同时除了快之外,还可应用于集群的自动容灾切换以及数据的读写分离,减轻高并发的压力。
二、Redis 安装部署
1、下载安装包
官网下载地址:https://redis.io/download,这里我们下载目前最新版5.0.7,直接点击下载。
或者直接使用命令下载,如下:
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
2、安装
首先解压安装包,如下
cd redis-5.0.7/
make
tar
进入解压文件目录使用make命令对解压的 redis 文件进行编译,如下
cd redis-5.0.7/
make
make
编译完成之后,可以看到解压文件 redis-5.0.7 中会有对应的 src、conf 等文件,如下
编译后目录
编译成功后,进入 src 文件夹,执行 make install 进行 Redis 安装。
cd src/
make install
安装完成后,显示如下
install
注:如出现/bin/sh: cc: command not found错误,是因为没有安装 gcc 环境,使用命令yum install gcc安装 gcc 环境即可。
3、部署
由于 src 下文件非常多,我们可以将几个常用的命令和 conf 配置文件复制出来进行统一管理,如下:(1)新建 bin 和 etc 文件夹
cd /root/redis-5.0.7/
mkdir etc
mkdir bin
(2)回到安装目录,将redis.conf复制到 ect 文件夹下
cp redis.conf /root/redis-5.0.7/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-5.0.7/bin/
查看复制后的文件,如下
copyFile
4、启动redis服务
切换到 bin 目录,使用./redis-server即可启动 redis 服务,但是这种方式没有指明配置文件,redis 将采用默认配置,所以我们需要让 redis 按照我们的配置文件来启动,如下,启动时指定刚才我们复制到 etc 文件夹下的redis.conf。
cd /root/redis-5.0.7/bin
./redis-server /root/redis-5.0.7