【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、至此初始化完成,后续进行增量同步