Redis进阶

本文详细介绍了Redis的进阶内容,包括Redis的单线程模型为何能保持高效率,持久化机制的RDB和AOP方式,如何与MySQL保证数据一致性,以及事务、主从复制、哨兵模式、Key过期策略,以及应对缓存穿透、缓存击穿和缓存雪崩的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、进阶内容概述:

1. redis 面试题
2. jvm 了解
3. 并发编程线程 重点
4. java进阶 面向对象设计原则设计模式
5. spring框架 重点
6. mysql 重点
7. 分布式微服务架构
8. 面试讲解

二、Redis

非关系型数据库,以键值对形式存储在内存中,支持多种数据类型,支持数据持久化
使用场景:
1. 缓存(mybatis一级二级缓存)访问量大的(秒杀,点赞),修改少的,存储验证码(定时)
2. 计数器(点赞)
3. 排行榜(zst)
4. 数据去重(set)
5. 消息队列(list)排号
6. 分布式锁

a.Redis线程模型

6.0之前是单线程模式的,处理客户端和读写操作是一个线程的
6.0之后是多线程,将客户端链接请求部分采用多线程处理,执行读写命令依然采用单线程(线程安全的)

为什么设计为单线程模型速度也很快

  1. 基于内存操作:读写都是在内存中进行的
  2. 底层存储结构是哈希表,通过key计算哈希值,快速定位
  3. 单线程设计避免线程切换,减小开销

b.Redis持久化

Redis数据存储在内存中有可能数据丢失,所以提供数据持久化机制
两种方式:
RDB方式:是Redis中默认的持久化方式,以快照方式将某一时刻的Redis数据保存到rdb文件中,redis.conf文件中可以配置save规则
AOP方式:以日志形式记录写操作(增删改)命令,恢复数据时,逐行执行命令即可,在配置文件中开启,才可以

c.Redis和Mysql如何保证数据一致

  1. 当更新完My
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值