IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 轻松理解redis做缓存的流程 -> 正文阅读

[大数据]轻松理解redis做缓存的流程

在这里插入图片描述

一、redis缓存过期是如何处理的?

???????设置了expire的key缓存过期了,但是服务器的内存还是会被占用,这是因为redis所基于的两种删除策略

1、(主动)定时删除

???????定时随机的检查过期的key,如果过期则清理删除。(每秒检查次数在redis.conf中的hz配置)

2、(被动)惰性删除

???????当客户端请求一个已经过期的key的时候,那么redis会检查这个key是否过期,如果过期了,则删除,然后返回一个nil。这种策略对cpu比较友好,不会有太多的损耗,但是内存占用会比较高。
???????所以,虽然key过期了,但是只要没有被redis清理,那么其实内存还是会被占

二、redis内存淘汰机制是什么?

???????如果定期删除漏掉了很多过期的key,而我们也没有再去访问它,如果不加处理,很可能导致内存耗尽。
Redis配置文件中可以设置maxmemory,内存的最大使用量,到达限度时会执行内存淘汰机制。

Redis中的内存淘汰机制:
没有配置时,默认为no-eviction

名称描述
volatile-lru已设置过期时间的数据集中挑选最近最少使用的数据淘汰
volatile-lfu从已设置过期时间的数据集中挑选最不经常使用的数据淘汰
volatile-ttl从已设置过期时间的数据集中挑选将要过期的数据淘汰
volatile-random从已设置过期时间的数据集中挑选任意数据淘汰
allkeys-lru当内存不足写入新数据时淘汰最近最少使用的Key
allkeys-random当内存不足写入新数据时随机选择key淘汰
allkeys-lfu当内存不足写入新数据时移除最不经常使用的Key
no-eviction当内存不足写入新数据时,写入操作会报错,同时不删除数据
  • volatile为前缀的策略都是从已过期的数据集中进行淘汰。
  • allkeys为前缀的策略都是面向所有key进行淘汰。
  • LRU(least recently used)最近最少用到的。在这里插入代码片
  • LFU(Least Frequently Used)最不常用的。
  • 它们的触发条件都是Redis使用的内存达到阈值时。

三、redis缓存击穿原因?

???????key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。让数据库承压,被叫做缓存击穿

四、redis缓存雪崩原因?

???????主要是对于redis集群来说的,大量的缓存失效,由数据库承压,叫做雪崩

五、redis缓存穿透原因?

???????key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
???????通俗理解:用户发起的请求,缓存中没有数据,数据库中也没有响应的数据,短时间发起大量的假请求都走了数据库,让数据库承压了,并且数据库中还不存在这些数据。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:15:00  更:2022-04-06 23:18:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:19:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码