Redis4.0.1安装以及主从复制详解

0、何为Redis

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 Redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。

1、Redis 安装

1.1 安装前环境说明

使用的是CentOS 7 版本的Linux系统, master ip 为10.211.55.3 slave ip 为10.211.55.4 虚拟机工具使用的是Parallels Desktop

1.2 下载Redis

Redis可以到官方网站上面进行下载:https://redis.io/download,现在最新的稳定版已经到4.0了。 这里使用的是redis-4.0.1.tar.gz

1.3 安装步骤

第一种方式安装:

$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzf redis-4.0.1.tar.gz -C /usr/local/
$ cd /usr/local/redis-4.0.1
$ make & make test

第二种方式安装:

# cd redis-2.4.4
# make
# make PREFIX=/usr/local/redis-4.0.1 install
# make test 
# cp redis.conf /usr/local/redis-4.0.1

安装之后的目录结构

[root@centos-linux-3 redis-4.0.1]# tree
.
├── bin
│   ├── dump.rdb
│   ├── redis-benchmark
│   ├── redis-check-aof
│   ├── redis-check-rdb
│   ├── redis-cli
│   ├── redis-sentinel -> redis-server
│   └── redis-server
├── dump.rdb
└── redis.conf

make 可能出现的异常

make[1]: Leaving directory `/usr/local/redis-4.0.1/src'
make[1]: Entering directory `/usr/local/redis-4.0.1/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/redis-4.0.1/src'
make: *** [test] Error 2

解决方案

yum install -y tcl 

2、Redis 简单配置

所有配置修改都在此配置文件

/usr/local/redis-4.0.1/redis.conf

2.1 修改为守护进程的方式运行

Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

    #daemonize no
    #修改为yes
     daemonize yes

2.2 绑定的主机地址

bind后面再添加主机的ip,后面主从复制 从Redis需要通过IP连接。

 bind 127.0.0.1 10.211.55.3

2.3 设置Redis 密码

这里密码设置为javen

# requirepass foobared
requirepass javen

2.4 设置Redis 端口号

默认端口为6379

port 6379

3、测试Redis

  • 启动
#默认配置文件/usr/local/redis-4.0.1/redis.conf
src/redis-server
#或者指定配置文件
src/redis-server redis.conf
  • 客户端连接
src/redis-cli
# 如果有密码则
src/redis-cli -a Javen

测试Redis

  • 停止
#默认配置文件 /usr/local/redis-4.0.1/redis.conf 中的端口
src/redis-cli  shutdown
#指定端口
src/redis-cli -p 6666 shutdown

4、Redis 主从复制配置

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面简单的进行一下配置。

4.1 修改slave的redis配置文件

  • master的redis配置文件只要设置好bind即可
  • 修改slave的redis配置文件 slaveof 10.211.55.3 6379 (映射到主服务器上,6379是端口号) 也可以动态设置: 通过redis-cli 连接到从节点服务器,执行下面命令即可。 slaveof 10.211.55.3 6379
  • 如果master设置了验证密码,还需配置masterauth。我这里的master设置了验证密码为javen,所以配置masterauth javen。

配置完之后启动slave的Redis服务,OK,主从配置完成(是不是很简单)。 下面测试一下: 在master和slave分别执行info命令,查看结果如下:

slave:

[root@centos-linux-2 redis-4.0.1]# src/redis-cli
127.0.0.1:6379> info

如果从Redis连接到了master则master_link_status:up否则为down。如果为down 请坚持master的Redis是否bind了主机的IP以及是否设置了密码。因为从Redis是远程连接必须设置bind,如果master的Redis设置了密码slave的Redis必须设置masterauth

master:

然后在master执行set age 18

在slave执行get age,看是否能得到18,如果能够得到值则说明配置成功。

下面把slave修改的参数贴出来:

daemonize yes
bind 127.0.0.1 10.211.55.4 
requirepass javen
port 6379
slaveof 10.211.55.3 6379
masterauth javen

5、Redis 远程连接

用法:redis-cli [OPTIONS] [cmd [arg [arg ...]]]

-h <主机ip>,默认是127.0.0.1

-p <端口>,默认是6379

-a <密码>,如果redis加锁,需要传递密码

--help,显示帮助信息

redis-cli -h 10.211.55.4 -p 6379 -a javen

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程语言

Python:VScode 设置Python不同版本运行环境

1.首先本地安装有不同的Python的版本,比如2.7和3.5.mac下一般默认自带2.7版本。  终端输入侧  python -V 则显示默认版本号。而p...

13920
来自专栏性能与架构

Redis队列缓存应用示例

消息队列的一个典型应用就是通过异步处理方式,来解决某些场景下的高并发问题 例如日志的收集,特点是数据量大,并发压力大,不宜直接插入数据库,但实时性要求不高,所...

46670
来自专栏Java后端生活

Linux(九)实用指令

20930
来自专栏小小挖掘机

windows下虚拟机配置spark集群最强攻略!

1、虚拟机安装 首先需要在windows上安装vmware和ubuntu虚拟机,这里就不多说了 vmware下载地址:直接百度搜索,使用百度提供的链接下载,这里...

40360
来自专栏黑白安全

新手如何连接到MySQL

所谓数据库就是专为储存数据而设计的库,是相对独立的。所以对于运行在Web服务器上的PHP程序在使用数据库的时候,首先需要做的就是连接数据库。在PHP本身就提供对...

65130
来自专栏码字搬砖

Hbase在HDFS上的各个目录作用

1、/hbase/.META. 就是存储1中介绍的 META 表的存储路径。 2、/hbase/.archive HBase 在...

53820
来自专栏黑泽君的专栏

linux基本命令学习01

============================================================================= Un...

15210
来自专栏前端小叙

内网映射到外网方法收集

一、nat123 二、ngrok 官网服务器被墙了 不能使用,显示reconnecting,可以使用自己搭建的服务器来试  三、花生壳 四、frp  htt...

484100
来自专栏分享达人秀

JDK的正确安装和配置

JDK的全称是Java Development Kit,翻译成中文就是Java开发工具包,主要包括Java运行环境、一些Java命令工具和Java基础的...

24060
来自专栏linux运维学习

linux学习第四十三篇:LNMP架构介绍,mysql安装,php安装,Nginx介绍

LNMP架构介绍 和LAMP不同的是,提供web服务的是Nginx,并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求...

27960

扫码关注云+社区

领取腾讯云代金券