redis安装和主从搭建(redis学习笔记2)

redis安装环境

   redis是C语言开发,建议在linux上运行。

  1.    安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
yum install gcc-c++

2. 下载源码包

wget http://download.redis.io/releases/redis-3.2.9.tar.gz(根据需要下载自己版本)

3.解压源码 

tar -zxvf redis-3.2.9.tar.gz

4.进入解压后的目录进行编译

cd redis-3.2.9

5.安装到指定目录,如 /usr/local/redis

  make PREFIX=/usr/local/redis install

6.拷贝配置文件到安装目录下进入源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下

cd /usr/local/redis

mkdir conf

cp /home/tools/redis-3.2.9/redis.conf /usr/local/redis/conf/

redis启动

前端模式启动

         直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。如下图:

后端模式启动

修改redis.conf配置文件, daemonize yes 以后端模式启动。

执行如下命令启动redis:(要在安装目录中)

./bin/redis-server ./redis.conf

启动多个redis进程

启动多个redis进程意义:一个redis代表一个redis服务(服务器)。

 方法1:

启动时指定端口可在一台服务器启动多个redis进程。(接着上面6379的redis)

./bin/redis-server ./redis.conf --port 6380

 

方法2(推荐此方法):

  1. 创建多个redis目录,以端口号命名,比如:创建6379、6380两个目录,将redis的安装文件bin和conf中文件拷贝至这两个目录。
  2. 修改6379目录下的redis.conf设置端口号为6379
  3. 修改6380目录下的redis.conf设置端口号为6380
  4. 启动6379和6380目录下的redis-server程序:
cd 6379

./bin/redis-server . /redis.conf

cd 6380

./bin/redis-server . /redis.conf

redis停止

强行终止Redis进程可能会导致redis持久化数据丢失。正确停止Redis的方式应该是向Redis服务发送SHUTDOWN命令,方法为:

./bin/redis-cli shutdown save 

连接本机6379端口的redis服务执行shutdown   停止

save:在停止redis服务之前将所有的数据持久化保存。

停止6380的redis,执行:

./bin/redis-cli -p 6380 shutdown save 

redis客户端

 学习意义:redis是服务端,要操作服务端(存取数据)是通过客户端。

 在redis的安装目录中有redis的客户端,即redis-cli(Redis Command Line Interface),它是Redis自带的基于命令行的Redis客户端。

 连接redis服务端

执行bin/redis-cli连接redis服务端:(-h ip 根据实际输入)

到此redis的安装和redis服务的启动和客服端的连接就完毕了。

复制:

通常为被复制方(master)主动将数据发送到复制方(slave),复制方接收到数据存储在当前实例,最终目的是为了保证双方的数据一致,同时也是降低了master的压力。

Redis的复制方式有两种,一种是主(master)-从(slave)模式,一种是从(slave)-从(slave)模式.

 复制流程图

1、slave向master发送sync命令。

2、master开启子进程执行bgsave写入rdb文件,同时将子进程接收到的写命令缓存起来。

3、子进程写完,父进程得知,开始将RDB文件发送给slave。

4、master发送完RDB文件,将缓存的命令也发给slave。

5、master增量的把写命令发给slave。

主从复制:

第1步:cp reids.conf redis2.conf(复制两个redis.conf配置文件,一个用来作为master的,一个是slave,我是使用上面启动多个redis进程的方法2的)

第2步:Vim redis2.conf(slave)修改6380中配置文件让6380作为6379的从机

第3步:slaveof 192.168.0.12 6379(master的地址)

第4步:Vim redis.conf master)6379

第5步:bind  0.0.0.0 #无ip 都可以访问(或者是本机的ip因为是一个主机模拟的)

第6步:./redis-server ../redis.conf   #master(启动6379的redis)

第7步./redis-server ../redis.2conf  #slave (启动6380的redis)

Ps:是否成功set get请求来判断或执行info命令role

从上面看6379是作为主机master了,我们再看看6380的

判断是否成功:

1、master客户端set值,slave客户端能不能获取到

2、config get 'slaveof*'

到此redis的master和slave就搭建完毕。

猜你喜欢

转载自blog.csdn.net/qq_40368860/article/details/84993978