【Redis】Redis数据过期策略、数据淘汰策略

数据过期策略

首先,我们要知道Redis的数据过期策略是惰性删除和定期删除结合使用。
面试题:

在这里插入图片描述

在这里插入图片描述

惰性删除

在这里插入图片描述

定期删除

在这里插入图片描述

数据淘汰策略

Redis支持8种数据淘汰策略:
noeviction:不淘汰任何key,当内存满时,不写入任何新数据。默认采用这种方式
volatile-ttl:对设置了 ttl 的 key,比较 key 剩余的 ttl 的值,ttl 越小越先被淘汰
allkey-random:所有的 key 随机删除
volatile-random:对设置了 ttl 的 key 随机删除
allkey-lru:对所有的 key 采用LRU算法进行淘汰
volatile-lru:对设置了 ttl 的 key 采用LRU算法进行淘汰
allkey-lfu:对所有的 key 采用LFU算法进行淘汰
volatile-lru:对设置了 ttl 的 key 采用LFU算法进行淘汰

LRU:全称 Least Recently Used,即最近最少使用。当前时间减去最后一次访问时间,这个值越大,则被先淘汰。
例如:key1 是 3s 前访问,key2 是 9s 前访问,那么删除的是 key2
LFU:全称 Least Frequently Used,即最少频率使用。统计每个 key 访问频率,值越小被先淘汰
例如:key1 最近 5s 访问 4 次,key2 最近 5s 访问 9 次,那么删除 key1

面试题:

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/318094.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TCP之三次握手四次挥手与UDP区别

文章目录 1 TCP三次握手四次挥手1.1 数据包说明1.1.1 TCP数据包1.1.2 UDP数据包1.1.3 TCP和UDP差异1.1.4 TCP可靠性传输机制 1.2 三次握手1.2.1 三次握手定义1.2.2 三次握手问题1.2.2.1 问题引入分析1.2.2.2 历史连接1.2.2.3 同步双方初始序列号1.2.2.4 避免资源浪费 1.3 四次挥…

POSTGRESQL中ETL、fdw的平行替换

POSTGRESQL中ETL、fdw的平行替换 01、简介 “ 在我前两次的文章中,说到postgresql对于python的支持,其实很多功能也就可以封装进入的postgresql数据库中去。比如fdw、etl等,本文将以此为叙述点,进行演示展示” 在postgresql数据…

详解矩阵变换:伸缩,旋转,反射和投影

目录 一. 矩阵子空间 二. 矩阵变换 2.1 伸缩矩阵 2.2 旋转矩阵 2.3 反射矩阵 2.4 投影矩阵 2.5 小结 三. 矩阵变换与函数 3.1 原点 3.2 常数倍性质 3.3 加法性质 3.4 小结 四. 空间变换 五. 小结 一. 矩阵子空间 矩阵与向量相乘Ax可以看成子空间的变换。 零空间…

一文搞定,JMeter的三种参数化方式

1、Test Plan 中添加变量 可以在 Test Plan 中设置好添加变量,变量名可以在任意的位置使用,比如说在线程组中直接用${ 变量名 }方式引用,步骤如下: 1)设置变量名和变量值 2)添加线程组 3)添加…

[情商-11]:人际交流的心理架构与需求层次模型

目录 前言: 一、心理架构 1.1 个体生理层 1.2 个体心理层 1.3 点对点人际交流层 1.4 社会网络层 1.5 社会价值层 二、人的需求层次模型 2.1 需求(欲望)层次模型 2.2 基因与人需求之间的关系 2.3 个体生理需求 2.4 个体的心理需求…

MyBatis源码分析(六):数据源模块

1. 概述 本文,我们来分享 MyBatis 的数据源模块,对应 datasource 包。如下图所示: ​ 在 MyBatis源码分析(二):项目结构 中,简单介绍了这个模块如下: 数据源是实际开发中常用的组件…

5 微信小程序

功能开发 5 功能开发概要今日详细1.发布1.1 发布流程的问题1.2 组件:进度条1.3 修改data中的局部数据1.4 发布示例效果前端后端 1.5 闭包 2.获取前10条新闻(动态/心情,无需分页)3.复杂版4.文章详细页面 各位小伙伴想要博客相关资料…

Java--业务场景:SpringBoot 通过Redis进行IP封禁实现接口防刷

文章目录 前言具体实现步骤1. 定义自定义注解2. 编写拦截器类IpUrlLimitInterceptor3. 在WebConfig类中添加IpUrlLimitInterceptor4. 添加注解到接口上 测试效果参考文章 前言 在实际项目中,有些攻击者会使用自动化工具来频繁刷新接口,造成系统的瞬时吞…

一些前端学习过程的自测练习题

目录 页面设计部分 1 设计一个简单的学院网站首页; 2.按照图示要求完成简单的登录页面 3.完成如下网站设计 4.完成如下网站设计(练习页面布局) 5 利用下面素材,设计一个满足H5规范的网页(移动端页面练习&#xff…

leetcode刷题记录18(2023-08-29)【最短无序连续子数组(单调栈) | 合并二叉树(dfs) | 任务调度器(桶) | 回文子串(二维dp)】

581. 最短无序连续子数组 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入&am…

TensorRT模型优化模型部署(七)--Quantization量化(PTQ and QAT)(二)

系列文章目录 第一章 TensorRT优化部署(一)–TensorRT和ONNX基础 第二章 TensorRT优化部署(二)–剖析ONNX架构 第三章 TensorRT优化部署(三)–ONNX注册算子 第四章 TensorRT模型优化部署(四&am…

Java中finally和return的执行顺序

Java中finally和return的执行顺序 try...catch...finally1. finally语句在return语句执行之后return返回之前执行的2. finally块中的return语句会覆盖try块中的return返回3. 如果finally语句中没有return语句覆盖返回值,那么原来的返回值可能因为finally里的修改而改…

进程的状态

进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型 中,进程状态分为三个基本状态,即就绪态,运行态,阻塞态。在五态模型中,进程分为新建态、就绪态,运行态&#x…

【书生·浦语】大模型实战营——第四课笔记

教程链接:https://github.com/InternLM/tutorial/blob/main/xtuner/README.md 视频链接:https://www.bilibili.com/video/BV1yK4y1B75J/?vd_source5d94ee72ede352cb2dfc19e4694f7622 本次视频的内容分为以下四部分: 目录 微调简介 微调会使…

【ArcGIS遇上Python】ArcGIS Python批量筛选多个shp中指定字段值的图斑(以土地利用数据为例)

文章目录 一、案例分析二、提取效果二、代码运行效果三、Python代码四、数据及代码下载一、案例分析 以土地利用数据为例,提取多个shp数据中的旱地。 二、提取效果 原始土地利用数据: 属性表: 提取的旱地:(以图层名称+地类名称命名)

数据结构——排序算法之快速排序

个人主页:日刷百题 系列专栏:〖C/C小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 🌎欢迎各位→点赞👍收藏⭐️留言📝 ​ ​ 前言: 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法。 基本思想&…

弟12章 1 网络编程

文章目录 网络协议概述 p164TCP协议与UDP协议的区别 p165 网络协议概述 p164 ipv4:十进制点分制 ipv6:十六进制冒号分隔 TCP协议与UDP协议的区别 p165 tcp协议的三次握手:

MySQL单表查询

显示所有职工的基本信息。 mysql8.0 [chap03]>select * from worker; 查询所有职工所属部门的部门号,不显示重复的部门号。 mysql8.0 [chap03]>select distinct(部门号) from worker; 求出所有职工的人数。 mysql8.0 [chap03]>select count(*) from …

山西电力市场日前价格预测【2024-01-14】

日前价格预测 预测说明: 如上图所示,预测明日(2024-01-14)山西电力市场全天平均日前电价为415.13元/MWh。其中,最高日前电价为851.84元/MWh,预计出现在18:15。最低日前电价为198.87元/MWh,预计…

04.neuvector进程策略生成与管控实现

原文链接,欢迎大家关注我的github 一、进程学习管控的实现方式 策略学习实现: 进程的学习与告警主要依据通过netlink socket实时获取进程启动和退出的事件: 1.创建netLink socket; 2.通过创建netlink的fd对进程的事件进行捕获与更新&#x…