Redis 详解:单机、主从、哨兵、集群模式详细分析
环境准备
安装环境
yum -y install gcc-c++
获取压缩包
注意: 如果出现报错信息“-bash: wget: 未找到该命令”,使用如下方式解决即可
yum -y install wget
解压:
tar -zxvf redis-5.0.6.tar.gz
切换到对应的目录,然后编译
cd redis-5.0.6
编译
make
自此,redis已经安装成功。
启动redis,指定配置文件
./src/redis-server redis.conf
修改redis.conf配置文件
1. 设置redis允许远程访问:
注释掉bind 127.0.0.1
将protected-mode yes改为no
2. daemonize no 修改为 daemonize yes ,以守护线程启动
3. 修改密码为 requirepass root123456
再次启动redis:
./src/redis-server redis.conf
查看redis服务
ps -ef |grep redis
连接客户端
./src/redis-cli
进入指定端口redis
./src/redis-cli -p 6379
键入info,查看当前redis信息
键入shutdown 停止redis服务
单机redis就安装和调试完了。
注意: 使用本地redis客户端连接不上redis,但是本地win系统跟虚拟机内部是可以互相ping通的解决方案:
一般是由于虚拟机端口号未开放导致的:
查看6379(或者自定义redis端口)是否打开
firewall-cmd --query-port=6379/tcp 如果返回no则端口没有开启
firewall-cmd --add-port=6379/tcp (加 --permanent 永久有效),返回success说明开启成功
使用本地客户端连接测试:
一:单机版
简述
不具备自动容错和恢复功能。服务器意外宕机,redis无法提供服务。服务器磁盘损坏,数据丢失。
用于可穿透业务场景,如后端有DB存储,脱机影响不大的应用。
二:主从模式
简述
不具备自动容错和自动恢复功能,需手动恢复数据。主服务器意外宕机,redis无法提供服务。主服务器磁盘损坏,主服务器手动恢复服务正常后拷贝从服务器数据即可恢复。可读写分离。不可横向扩展。
三:哨兵模式
简述
具备自动容错。哨兵发现主服务器挂了,就会启用某一台从服务器做主服务器。可读写分离。不可横向扩展。
用于高可用需求场景,可用于高可用Cache,存储等场景。 内存/QPS受限于单机。(每秒查询率,QPS = 并发量 / 平均响应时间)
四:集群模式
简述
没有单点故障,可横向扩展。
用于高可用需求场景,可用于大数据量高可用Cache/存储等场景。内存/QPS不受限于单机,可受益于分布式集群高扩展性。