Redis持久化策略、安全扩展(面试问题)

一. Redis持久化策略(面试问题)
在这里插入图片描述
RDB:
介绍链接:https://blog.csdn.net/qq_35433716/article/details/82191511
AOF:
AOF默认是关闭的 appendonly no ,需要配置文件redis.conf中开启AOF。Redis支持AOF和RDB同时生效,如果同时存在,AOF优先级高于RDB(Redis重新启动时会使用Redis进行数据恢复)

区别:RDB稳定和安全;AOF相对代价高些,磁盘侵占度太高。
二.Redis安全扩展
1.Redis主从复制
Redis支持集群功能。为了保证单一节点可用性,redis支持主从复制功能。每个节点有N个复制品,其中一个复制品是主(master),另外N-1个复制品是从(Slave),也就是说Redis支持一主多从。
一个主可有多个从,而一个从又可以被看成主,它还可以有多个从。

su-     #切换到root身份
Password:
cd /usr/local/redis
cd ..  #回退到local目录下
mkdir redis-replica  #新建一个目录
cp -r redis redis-replica/   #复制redis到redis-replica目录下
cd redis-replica/   #进入redis-replica目录下
ls
cd redis/
ls
rm -rf dump.rdp  #如存在删除,没有省略这一步
ls
mv redis.conf redis-6001.conf      #更改redis.conf文件名为redis-6001.conf
vim redis-6001.conf    #修改配置文件

修改redis-6001.conf
第一个位置:
在这里插入图片描述
第二个位置:
在这里插入图片描述
:wq 保存完并退出。

cp redis-6001.conf redis-6002.conf
vim redis-6002.conf

修改redis-6002.conf
第一个位置:
在这里插入图片描述
第二个位置:
在这里插入图片描述
第三个位置
在这里插入图片描述

cp redis-6002.conf redis-6003.conf
vim redis-6003.conf

修改redis-6003.conf文件
修改的第一个地方:
在这里插入图片描述
修改的第二个地方:
在这里插入图片描述
:wq保存退出。
到此,配置完成了。
接下来,开始启动:

bin/redis-server redis-6001.conf   #读取到redis-6001.conf配置文件
bin/redis-server redis-6002.conf   #读取到redis-6002.conf配置文件
bin/redis-server redis-6003.conf   #读取到redis-6003.conf配置文件

查看启动状况:

ps aux | grep redis

在这里插入图片描述
到此,主从服务器搭建成功。

访问

bin/redis-cli -p 6001
info replication   #查看主从详细信息

重启一个终端:

su -
Password:
cd  /usr/local/redis-replica/redis
bin/redis-cli -p 6002 
info replication

6002在这里是用作备份用的,只能读,不可以写:
在这里插入图片描述
6001是主,可读可写,在6001中设置a的value为b,并且读取a的value:
在这里插入图片描述
在6002从中,读取a的值,这时,由于主里写了,所以这里可以读出数据:
在这里插入图片描述
再重启一个终端:(记为第三个终端)

su -
cd /usr/local/redis-replica/redis
bin/redis-cli -p 6001 shutdown #关闭主服务
ps aux | grep redis      #查看状态信息

在第一个终端,退出主服务:

exit  #退出6001

在第三个终端,最后打开那个:

ps aux | grep redis

再在第一个终端,输入,尝试启动6001

bin/redis-cli -p 6001

显示连接结果:
在这里插入图片描述
在第二个终端中,获取a的值设置值

get a  #可以获得
set a a  #失败
info replication #查新信息

运行结果:在这里插入图片描述

exit
bin/redis-cli -p 6003
info replication

在这里插入图片描述

exit  #退出终端

关闭第三个终端;
在第一个终端:

bin/redis-cli -p 6002 shutdown   #关闭6002
bin/redis-cli -p 6003 shutdown   #关闭6003

启动太费劲了,编写一个sh脚本文件:

vim startup.sh

脚本内容如下: (:+wq)保存并且退出。
在这里插入图片描述

ll    #查看目录下startup.sh文件权限
chmod 755 startup.sh  #赋权限
ll  #再次查看startup.sh文件的权限
./startup.sh   #执行sh文件
ps aux | grep redis

再编写一个批量关闭的sh文件

vim shutdown.sh  

在这里插入图片描述
:wq 保存退出;
在这里插入图片描述

ll   #查看权限
chmod 755 shutdown.sh #赋权限
ll  
./shutdown.sh
ps aux | grep redis #查看是否关闭成功

主从缺陷:主节点如果不开启,从节点只可以读数据。

2 哨兵(Sentinel)
2.1 哨兵简介
在这里插入图片描述
2.2 搭建多哨兵 (master-slave集群)
在这里插入图片描述

su -
Password:
cd /usr/local
mkdir redis-sentinel  #新建一个redis-sentinel目录
cd redis-sentinel
ls
cp /usr/local/redis ./ -r  #(-r 指定”/usr/local/redis“为目录)
ls
cd redis/
ls
rm -rf dump.rdb
rm -rf redis.conf
clear
ls
cd
ls
cd upload/
cd redis-5.0.5/
cp sentinel.conf /usr/local/redis-sentinel/redis


重新打开一个连接:

su -
Password:
cd /usr/local/redis-sentinel/redis
ls   #查看复制是否成功
mv sentinel.conf sentinel-6101.conf  #更改sentinel.conf文件名
vim sentinel-6101.conf

修改第一处:
在这里插入图片描述
修改第二处:
在这里插入图片描述
修改第三处:
在这里插入图片描述
修改第四处:
在这里插入图片描述
修改第五处:
在这里插入图片描述
:wq ,修改完这五处,保存并且退出。

cp sentinel-6101.conf sentinel-6102.conf 
cp sentinel-6101.conf sentinel-6103.conf
vim sentinel-6102.conf

修改第一处:
在这里插入图片描述
修改第二处
在这里插入图片描述
修改第三处:
在这里插入图片描述
:wq 保存后退出。

vim sentinel-6103.conf

修改第一处:
在这里插入图片描述
修改第二处:
在这里插入图片描述
修改第三处:
在这里插入图片描述
2.3 启动哨兵

vim start-sentinel.sh

在这里插入图片描述
:wq 保存并且退出。

ll
chmod 755 start-sentinel.sh      #赋予权限
ll
./start-sentinel.sh  #执行sh文件

查看是否启动成功:

ps aux | grep redis  

在这里插入图片描述
在另一个终端,

cd /usr/local/redis
bin/redis-cli -p 6001
info replication

打开第三个终端:

su -
Password:
cd /usr/local/redis
bin/redis-cli -p 6001 shutdown

在第一次打开的6001的那个终端,执行以下命令:

info replication

在这里插入图片描述

bash
exit    #退出终端
bin/redis-cli -p 6002   #开启6002端口
info replication
get a
set b b
get b

在这里插入图片描述

exit
clear  #清屏
cd /usr/local/redis-replica/redis
ls
bin/redis-server redis-6001.conf
bin/redis-cli -p 6001
info replication
get b
set c c 

在这里插入图片描述
在这里插入图片描述

exit

查看日志文件

cd /var
ls | grep sentinel
more sentinel-6101.log

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值