黑马2022最新redis课程笔记知识点(面试用)持续更新


redis入门

redis的常见五种数据类型

String类型

  • String类型,类似于java中的String类型,常见使用get,set方法。

黑马2022最新redis课程笔记知识点(面试用)持续更新

  • String类型还可以存储json字符串格式

黑马2022最新redis课程笔记知识点(面试用)持续更新

Hash类型

  • Hash类型,也叫散列,它的value是一个无序字典,类似于java中HashMap
    黑马2022最新redis课程笔记知识点(面试用)持续更新

  • Hash类型的常用命令:

黑马2022最新redis课程笔记知识点(面试用)持续更新

List类型:

  • Redis中的List类型与java中的LinkedList相类似,可以看做一个双向链表的结构,即支持正向检索,又支持反向检索。

  • 特征也与java的LinkedList类似

    有序

    元素可重复

    插入和删除速度快

    查询速度一般

  • List类型常用命令

黑马2022最新redis课程笔记知识点(面试用)持续更新

  • 使用List模拟栈、队列、阻塞队列

黑马2022最新redis课程笔记知识点(面试用)持续更新

Set类型

Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。因为也是一个hash表,因此具备与HashSet类似的特征:

  • 无序
  • 元素不可重复
  • 查找快
  • 支持并集,交集,差集

Set常用命令:

黑马2022最新redis课程笔记知识点(面试用)持续更新

redis实战(黑马点评)

短信验证码的登录注册功能

商家查询的缓存功能

redis缓存:查询的时候先查询redis,redis有直接返回,redis没有再查数据库

1、缓存更新

缓存更新的三种策略

内存淘汰:redis自带的内存淘汰机制

过期淘汰:利用expire命令给数据设置过期时间(TTL)

主动更新:主动完成数据库与缓存的同时更新

主动更新的三种方案

黑马2022最新redis课程笔记知识点(面试用)持续更新

策略选择

低一致性需求:内存淘汰或过期淘汰

高一致性需求:主动更新为主,过期淘汰兜底

Cache Aside模式的选择

  1. 更新缓存还是删除缓存?

    更新缓存会产生很多无效更新,并存在较大的线程安全问题。

    删除缓存本质是延迟更新,没有无效更新,线程安全问题相对较低

  2. 先操作数据库还是缓存?

    先更新数据,再删除缓存——在满足原子性的情况下,安全问题概率较低

    先删除缓存,再更新数据库——安全问题概率较高

  3. 如何确保数据库与缓存操作原子性

    单体系统——利用事务机制

    分布式系统——使用分布式事务

最佳实践

查询数据时:

  1. 先查询缓存
  2. 如果缓存命中,直接返回
  3. 如果缓存未命中,则查询数据库
  4. 将数据库数据写入缓存
  5. 返回结果

修改数据库时:

  1. 先修改数据库
  2. 然后删除缓存
  3. 增加事务,确保两者的原子性

2、缓存穿透

产生原因

客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库

解决方案

缓存空对象

对于不存在的数据也在redis、建立缓存,值为空,并设置一个较短的TTl时间

黑马2022最新redis课程笔记知识点(面试用)持续更新

布隆过滤

利用布隆过滤算法,在请求进去redis之前先判断是否存在,如果不存在则直接拒绝请求

黑马2022最新redis课程笔记知识点(面试用)持续更新

其他

黑马2022最新redis课程笔记知识点(面试用)持续更新

3、缓存雪崩

产生原因

在同一时段大量的缓存key同时失效或者redis服务宕机,导致大量请求到达数据库,带来巨大压力。

解决方案

黑马2022最新redis课程笔记知识点(面试用)持续更新

4、缓存击穿(热点key)

产生原因

热点key在某一时间被高并发访问,缓存重建好事较长。

热点key突然过期,因为重建耗时长,在这段时间内大量请求落到数据库,带来巨大冲击

解决方案

互斥锁

黑马2022最新redis课程笔记知识点(面试用)持续更新

逻辑过期

黑马2022最新redis课程笔记知识点(面试用)持续更新

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279287.html

(0)
上一篇 2022年8月7日
下一篇 2022年8月7日

相关推荐

发表回复

登录后才能评论