前言
选用在windows下是因为我现在没虚拟机,然后买的服务器也都过期了,就在windows下练手了。后面有机会时间,都会转回linux下操作。
用已经用过了,现在要把自己的知识巩固一下,总结一下。
一.下载redis
链接:https://github.com/microsoftarchive/redis/releases
自己选择对应的版本下载

二.解压
解压压缩包到本地

然后多复制几个

三.启动
进入文件夹下 cmd ,执行 redis-server redis.windows.conf 命令,服务启动成功会弹出程序。

这样简单的redis就启动了。
接下来就是启动主从模式了、
四.主从模式
master节点不改,自己选择从节点,在从节点的文件redis.windows.conf上添加 slaveof 127.0.0.1 6379 .指向本机的6379端口的redis作master

然后先启动主节点,然后启动从节点,成功启动后如下图。

注意:如果你redis是加了密码的话,请在redis.windows.conf文件上搜索 masterauth ,并添加masterauth <master-password>
<master-password>指master节点的密码
接下来就我在主节点添加了一个key-value。

可以看到在从节点,也被更新了。

接下来,我把主节点给关闭掉,对从节点赋值

显然从节点报了错,不允许向只读的从节点写入数据。
对于主从这种比较早期的模式去应该现在这种分布式显然是不合时宜的,
1.一旦主节点挂点了,可以想象一旦有数据还没来的急复制到从节点,就会存在数据不一致的问题。
2.Redis的主从复制采用全量复制,复制过程中主机会fork出一个子进程对内存做一份快照,并将子进程的内存快照保存为文件发送给从机,这一过程需要确保主机有足够多的空余内存。若快照文件较大,对集群的服务能力会产生较大的影响,而且复制过程是在从机新加入集群或者从机和主机网络断开重连时都会进行,也就是网络波动都会造成主机和从机间的一次全量的数据复制,这对实际的系统运营造成了不小的麻烦。
3.这种模式下不具备自动恢复的能力,可能会造成项目的获取redis出错而导致问题,需要手动恢复。
4.Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。
因此从这几方面来看,都不推荐在实际中使用主从模式,但是对于新人学习还是很有用的,因为后面的哨兵(sentinel)模式就是基于这种模式的改进。 |