Centos7下Redis安装与主从Replication介绍

Redis自问世以来,在众多K-v数据库中表现出色,已受到很多项目的青睐,这主要得益于它良好的设计原理、丰富的结构、以及卓越的性能;甚至有人一提到缓存,就想到Redis,将二者化为一体;不过,将Redis单纯地作为数据缓存服务只是它被使用的比较广泛的场景之一;除此之外,我们可将其使用在更多的业务场景中,比如热门排行、秒杀系统、社交应用、日志系统、消息队列、搜索服务、分布式锁、发布订阅类服务等等;

本文主要结合Redis入门的需要,介绍下如何在Centos中安装Redis服务,并搭建最基本的主从同步架构;

首先我们在官网https://redis.io/上面下载redis源码包,比如redis-4.0.11.tar.gz

然后解压到自己机器的源码目录tar zxvf redis-4.0.11.tar.gz,比如

/usr/local/src/redis

然后cd /usr/local/src/redis/redis-4.0.11

然后开始编译

make MALLOC=libc

如果想自定义安装路径,则可在install前先新建prefix

mkdir -p/opt/server/redis-4-0-11/

然后

make installPREFIX=/opt/server/redis-4-0-11/

安装后可以将源码中的redis.conf文件拷贝到自己容易管理的路径下

比如我的机器上,是在 /opt/server/redis-4-0-11/conf目录下

因redis默认不是以守护进程的方式运行的,如果想以守护进程的方式运行,则进入配置文件,将daemonize的值修改为yes再启动即可

daemonize yes

然后启动redis,如

/opt/server/redis-4-0-11/bin/redis-server /opt/server/redis-4-0-11/conf/redis_6379.conf

并将其放置到开机启动中:

vim /etc/rc.local

下面开始实例化从节点:

则 cpredis_6379.confredis_6380.conf

然后修改实例2的conf文件redis_6380.conf中对应的port为6380

并修改实例2的pid的路径配置

pidfile /var/run/redis_6380.pid

然后加入slaveof 127.0.0.1 6379

意思是将当期服务转变为实例1(6379)的从服务;

然后分别启动这两个示例:

/opt/server/redis-4-0-11/bin/redis-server /opt/server/redis-4-0-11/conf/redis_6379.conf

/opt/server/redis-4-0-11/bin/redis-server /opt/server/redis-4-0-11/conf/redis_6380.conf

查看启动后的进程:

[root@jordy conf]# ps-ef | grep redis-server|grep -v grep

root 14862 1 0 12:08? 00:00:01/opt/server/redis-4-0-11/bin/redis-server 127.0.0.1:6379

root 15058 1 0 12:44? 00:00:00/opt/server/redis-4-0-11/bin/redis-server 127.0.0.1:6380

查看进程id保存文件

[root@jordy conf]#cat /var/run/redis_6379.pid

14862

[root@jordy conf]#cat /var/run/redis_6380.pid

15058

用两个不同的客户端连接:

redis-cli -h127.0.0.1 -p 6379

redis-cli -h127.0.0.1 -p 6380

然后我们在实例1上运行info命令,查看到如下结果,即当前实例为主节点:

然后我们在实例2上运行info命令,查看到如下结果,即当前实例为从节点:

然后在实例1中set 一个key

比如 set addr beijing

在实例2中,我们get addr 发现,这个时候,已经可以获取到主实例1中刚刚set 的key:

这样我们就实现了最最基本的主从复制;

从以上过程我们了解到,在基本的主从复制架构中,从节点主要的作用是:

1.扩展主节点的读能力,可有效分担主节点读压力。

但如果主节突然宕机呢,如何保证服务的高可用?这个时候其他从节点又能扮演什么角色?后面分享,我们一起来探讨;

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181107G1QAKA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券