网络服务重启:
systemctl restart network.service
docker服务启动:systemctl start docker
本节redis不用docker
课前准备:centos7虚拟机单机安装redis
首先需要安装Redis所需要的依赖:yum install -y gcc tcl
然后将课前资料提供的Redis安装包上传到虚拟机的任意目录(例如/tmp目录):
解压缩:
tar -xvf redis-6.2.4.tar.gz
解压后:
进入redis目录
cd redis-6.2.4
运行编译命令:
make && make install
如果没有出错,应该就安装成功了。
然后修改redis.conf文件中的一些配置:
# 绑定地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问
bind 0.0.0.0
# 数据库数量,设置为1
databases 1
启动redis服务: redis-server redis.conf
停止redis服务: redis-cli shutdown
分布式缓存(Redis集群)导言
1. RDB持久化
1.1 默认的RDB
RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。
简单来说就是把内存中的所有数据都记录到磁盘中。
当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。
快照文件称为RDB文件,默认是保存在当前运行目录。
redis停机时会执行一次RDB。
服务端窗口1启动redis服务
客户端窗口2访问redis服务
存完一条数据后,回到服务端
ctrl+c
停止可以从日志中看到先在磁盘的当前目录保存的RDB文件再退出redis,称为“优雅停机”
现在
ctrl+c
也先停止客户端然后重启服务端
再重启服务端访问刚才放到redis的数据
综上,redis默认就实现了持久化
以上演示情况:不过是停机时才会触发;万一突然宕机则数据可能会丢失。
1.2 RDB参数自定义
先停掉服务端&客户端,修改一下配置
5秒内,如果有1个key被修改,就会触发
RDB文件名字也修改一下
现在重启redis服务
可以看到这次并没有读取RDB文件恢复数据的日志了,因为RDB文件改名字了
打开客户端测试一下
果不其然。
此时,现往redis里存一个数据
此时,查看服务端(并没有
ctrl+c
停止服务)也会触发(自动触发)考虑到频率太快会给redis造成压力,而频率太慢又增大了数据丢失的风险;一般使用redis配置文件里提供的默认触发频率就行,后续还有弥补方案
1.3 RDB底层原理
1.4 小结
- RDB方式bgsave的基本流程?
- RDB会在什么时候执行?save 60 1000代表什么含义?
- RDB的缺点?
- RDB执行间隔时间长,两次RDB之间写入数据有丢失的风险
- fork子进程、压缩、写出RDB文件都比较耗时
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。