1、Redis主从复制(读写分离)
一个redis服务可以有多个该服务的复制品,这个redis服务成为master,其他复制品成为slaves,slaves只能执行读命令,来降低master的读压力
开启master,node1两台虚拟机
[root@master ~]# cd /usr/local/soft
将redis文件复制到其它节点
[root@master soft]# scp -r redis /node1: /usr/local/soft/
[root@master bin]# cd redis/bin
[root@master bin]# redis-server
在node1中启动从服务器
[root@node1 ~]# cd /usr/local/soft/redis/bin
[root@node1 bin]# ./redis-server --port 6380 --slave master 6379
[root@node1 bin]# ./redis-cli -p 6380
先启动node1
[root@node1 bin]# ./redis-server --port 6380
在已经启动成功之后也可以将主改成从
[root@node1 bin]# slaveof master 6379
从改成主 -- 数据不会删除
[root@node1 bin]# slaveof no one
2、redis集群(奇数台)
由多个redis服务器组成的分布式网络服务集群,每一个redis服务器称为节点node,节点间相互通信,两两相连
3、redis集群节点复制
每个节点都有两种角色(1.主节点:master node 2.从节点:slave node)
4、redis集群分片
集群将整个数据库分为16384个槽位slot
集群中的每个主节点都可以处理0至16384个槽位
三个主节点平均分片16384个槽位(存储)
集群中默认情况下,每一个节点只能操作与之对应的槽位
master node1 node2
0~5460 5461~10922 10923~16384
集群是无中心结构,但命令默认情况下在本机执行,而本机只能执行与之对应的槽位,所以需加重定向(把命令发送到与之对应的机器上执行)
./redis-cli -p 7000 -h master -c