Redis高级-分布式缓存

分布式缓存

-- 基于Redis集群解决单机Redis存在的问题

单机的Redis存在四大问题:

0.目标

1.Redis持久化

Redis有两种持久化方案:

  • RDB持久化
  • AOF持久化

1.1.RDB持久化

RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。

1.1.1.执行时机

RDB持久化在四种情况下会执行:

  • 执行save命令
  • 执行bgsave命令
  • Redis停机时
  • 触发RDB条件时

1)save命令

执行下面的命令,可以立即执行一次RDB:

save命令会导致主进程执行RDB,这个过程中其它所有命令都会被阻塞。只有在数据迁移时可能用到。

2)bgsave命令

下面的命令可以异步执行RDB:

这个命令执行后会开启独立进程完成RDB,主进程可以持续处理用户请求,不受影响。

3)停机时

Redis停机时会执行一次save命令,实现RDB持久化。

4)触发RDB条件

Redis内部有触发RDB的机制,可以在redis.conf文件中找到,格式如下:

properties 复制代码
# 900秒内,如果至少有1个key被修改,则执行bgsave , 如果是save "" 则表示禁用RDB
save 900 1  
save 300 10  
save 60 10000 

RDB的其它配置也可以在redis.conf文件中设置:

properties 复制代码
# 是否压缩 ,建议不开启,压缩也会消耗cpu,磁盘的话不值钱
rdbcompression yes

# RDB文件名称
dbfilename dump.rdb  

# 文件保存的路径目录
dir ./ 
相关推荐
?abc!27 分钟前
缓存(5):常见 缓存数据淘汰算法/缓存清空策略
java·算法·缓存
专注代码七年1 小时前
在Windows 境下,将Redis和Nginx注册为服务。
windows·redis·nginx
智_永无止境1 小时前
Redis 8.0携新功能,重新开源
数据库·redis·开源
fengchengwu20121 小时前
langchain4j集成QWen、Redis聊天记忆持久化
redis·langchain·qwen·聊天记忆持久化
掘金-我是哪吒3 小时前
分布式微服务系统架构第125集:AI大模型
分布式
言小乔.4 小时前
202534 | KafKa简介+应用场景+集群搭建+快速入门
分布式·kafka
悟空打码4 小时前
MyBatis源码解读5(3.1、缓存简介)
缓存·mybatis
杨不易呀4 小时前
Java面试高阶篇:Spring Boot+Quarkus+Redis高并发架构设计与性能优化实战
spring boot·redis·高并发·分布式锁·java面试·quarkus
阿四啊5 小时前
【Redis实战篇】分布式锁-Redisson
数据库·redis·分布式
努力的搬砖人.5 小时前
如何让rabbitmq保存服务断开重连?保证高可用?
java·分布式·rabbitmq