网络服务重启:
systemctl restart network.service
docker服务启动:systemctl start docker
本节redis不用docker
首先需要安装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存在4大问题的解决方案对应本章四个小结
RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。
简单来说就是把内存中的所有数据都记录到磁盘中。
当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。
快照文件称为RDB文件,默认是保存在当前运行目录。
redis停机时会执行一次RDB。
服务端窗口1启动redis服务
客户端窗口2访问redis服务
存完一条数据后,回到服务端ctrl+c
停止
可以从日志中看到先在磁盘的当前目录保存的RDB文件再退出redis,称为“优雅停机”
现在ctrl+c
也先停止客户端
然后重启服务端
再重启服务端访问刚才放到redis的数据
综上,redis默认就实现了持久化
以上演示情况:不过是停机时才会触发;万一突然宕机则数据可能会丢失。
先停掉服务端&客户端,修改一下配置
5秒内,如果有1个key被修改,就会触发
RDB文件名字也修改一下
现在重启redis服务
可以看到这次并没有读取RDB文件恢复数据的日志了,因为RDB文件改名字了
打开客户端测试一下
果不其然。
此时,现往redis里存一个数据
此时,查看服务端(并没有ctrl+c
停止服务)也会触发(自动触发)
考虑到频率太快会给redis造成压力,而频率太慢又增大了数据丢失的风险;一般使用redis配置文件里提供的默认触发频率就行,后续还有弥补方案