悟!!!!

【Redis】简介与安装

一、Redis是什么

Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:

  • 基于内存运行,性能高效
  • 支持分布式,理论上可以无限扩展
  • key-value存储系统
  • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

相比于其他数据库类型,Redis具备的特点是:

  • C/S通讯模型
  • 单进程单线程模型
  • 丰富的数据类型
  • 操作具有原子性
  • 持久化
  • 高并发读写
  • 支持lua脚本

二、 Redis下载安装

(1)Redis下载

下载路径:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

 

(2)解压

 下载解压后,在所解压的位置打开命令行(也可以通过cmd,然后再进入解压目标)

(3)启动临时服务

输入命令:redis-server.exe redis.windows.conf

  

(4)另开一个窗口,启动 redis-cli.exe -h 127.0.0.1 -p 6379

PS:也可以直接运行压缩包中的 redis-cli.exe

这里向Redis存储了key="type", value="int"

  

三、 Redis自定义windows服务

(1)cmd 进入Redis安装包目录,安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisservermaster --loglevel verbose

 

通过 service.msc查看windows服务

 

 安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisservermaster --loglevel verbose

启动服务:redis-server.exe  --service-start --service-name redisservermaster

停止服务:redis-server.exe  --service-stop --service-name redisservermaster

卸载服务:redis-server.exe  --service-uninstall --service-name redisservermaster

四、 Redis自定义构建主从服务器

(1)注册从服务器slave

拷贝几份Redis文件,redis-windows.conf配置文件中的ip 和端口号进行修改,然后按照上面的步骤部署一个服务

我这里部署了两个slave(请注意看路径)

 

 

 

查看服务,可看到成功注册了三个服务:一个master,两个slave

 

 

 (2)修改slave1, slave2端口(slave1:6380, slave2:6381)

 

 

 

 (3)配置主从服务器 

Redis Slaveof 命令:可以将当前服务器转变为指定服务器的从属服务器(slave server),每次slave服务器重启时,会自动同步主服务器。主服务器负责写,从服务器负责读。

如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 slaveof host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。

另外,对一个从属服务器执行命令 slaveof no one 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

slaveof no one 命令:不会丢弃同步所得数据集这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

 

 

然后将Redis服务都启动起来,就可以搭建成master-slave主从Redis服务器了。

 

 

(4)主从同步过程(这一章节拷贝了另一博主,在此感谢!)

 

                                                     (借用一个图,在此感谢该图博主)

1、Slave服务启动,主动连接Master,并发送SYNC命令,请求初始化同步

2、Master收到SYNC后,执行BGSAVE命令生成RDB文件,并缓存该时间段内的写命令

3、Master完成RDB文件后,将其发送给所有Slave服务器

4、Slave服务器接收到RDB文件后,删除内存中旧的缓存数据,并装载RDB文件

5、Master在发送完RDB后,即刻向所有Slave服务器发送缓存中的写命令

6、至此初始化完成,后续进行增量同步

 

posted on 2021-02-05 18:35  悟!!!!  阅读(58)  评论(0编辑  收藏  举报

导航