一、Redis安装
centos:
yum install redis
一般默认安装在:/usr/local/bin,配置文件默认在/etc/redis.conf
开启redis服务:
systemctl start redis
检查redis状态
systemctl status redis
修改redis配置信息:
vim /etc/redis.conf
找到 bind 127.0.0.1这一行,将其注释掉,让这个服务器上的redis可以被远程连接。
找到#requirepass foobared这行,把注释打开,将foobared改成你的密码。
如果你用了云服务器,不要忘记开放端口~
systemctl start firewalld
开放6379端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
重启防火墙
firewall-cmd --reload
查看端口号:
netstat -ntlp
Now~我们测试一下连接~
redis-cli -h your-ip -p 6379 -a [your-password]
二、Redis的三种集群模式
1. 主从复制模式
- 原理:
一主多从 - 优点:
- 配置简单,易于实现
- 实现数据冗余,提高数据可靠性
- 读写分离,提升系统性能
- 缺点:
- 主节点故障时候,要手动切换到从节点
- 主节点承担所有写操作,可能有性能瓶颈
- 无法实现数据分片,受单节点内存限制
2. 哨兵模式
- 原理:
主从模式的基础上,增加哨兵节点。 - 优点:
- 故障自动转移
- 数据冗余
- 读写分离
- 缺点:
- 配置和管理相对复杂
- 依然无法实现数据分片
3. Cluster模式
- 原理:
Redis Cluster将数据分成16384槽位,每个节点负责管理一部分槽位。当客户端向redis cluster发送请求的时候,cluster会根据键的哈希值将请求路由到相应的节点。 - 优点:
- 数据分片
- 负载均衡
- 故障自动转移
- 缺点:
- 配置和管理复杂
- 复杂操作受到限制
三、Cluster模式的集群搭建
集群模式下,必须有3个及以上的主节点
我有三台主机,每个主机开启两个不同端口,用作master和slave.
配置redis节点:
在这里我将master和它的slave放在了同一台机器上,设置不同端口号,开启不同的实例。
将配置文件cp两份出来,一个给主节点,一个给从节点。cp /etc/redis.conf /etc/redis-cluster1.conf cp /etc/redis.conf /etc/redis-slave1.conf打开
/etc/redis-cluster1.conf,并修改如下配置:#修改端口号 port 7001 # 开启集群模式 cluster-enabled yes # 节点超时时间 cluster-node-timeout 15000 #后台启动 daemonize yes cluster-config-file redis-cluster1.conf appendonly yes启动节点
启动主节点:redis-server /etc/redis-cluster1.conf启动从节点:
redis-server /etc/redis-slave1.conf启动集群
redis-cli --cluster create 120.55.188.192:7001 120.55.188.192:7002
120.55.188.192:7003 120.55.188.192:7004 120.55.188.192:7005 120.55.188.192:7006
--cluster-replicas 1
前面3个host是master的主机,后面3个是slave
–cluster-replicas 1 :给每个主节点创建一个从节点。
