【redis】redis淘汰策略
一、说明
- 1.redis key没有设置过期时间被redis主动删除了
- 2.当redis已用内存超过maxmemory限定时,触发主动清理策略
- 3.主动清理策略在redis4.0之前一共实现了6种内存淘汰策略,在4.0之后,增加了2种,总共8种
二、淘汰策略
2.1 针对设置了过期时间的key做处理
- 1.volatile-ttl:在筛选时,会针对设置了过期时间的键对值,根据过期时间的先后进行删除,越早过期的越先被删除
- 2.volatile-random:针对设置了过期时间的键值对随机删除
- 3.volatile-lru:会使用lru算法筛选设置了过期时间的键值对删除(Least Recently Used的缩写,即最近最少使用)
- 4.volatile-lfu:会使用lfu算法筛选设置了过期时间的键值对删除(Least Frequently Used的缩写,即最不经常使用)
2.1 针对所有key做处理
- 1.allkeys-random:从所有键值对中随机选择并删除数据
- 2.allkeys-lru:使用LRU算法在所有数据中进行筛选删除
- 3.allkeys-lfu:使用LFU算法在所有数据中进行筛选删除
2.1.不处理
- 1.noeviction:不会删除任何数据,拒绝所有写入操作并返回客户端错误信息,redis只响应读操作((error) OOM command not allowed when used memory)
三、LRU和LFU的区别
- 1.LRU,最近最少使用,淘汰很久没被访问过的数据,以最近一次访问时间作为参考
- 2.LFU,最不经常使用,淘汰最近一段时间被访问次数最少的数据,以次数作为参考
- 3.绝大多数情况使用LRU策略
- 4.存在大量热点缓存数据时,LFU更好
相关文章:
【redis】redis淘汰策略
一、说明 1.redis key没有设置过期时间被redis主动删除了 2.当redis已用内存超过maxmemory限定时,触发主动清理策略 3.主动清理策略在redis4.0之前一共实现了6种内存淘汰策略,在4.0之后,增加了2种,总共8种 二、淘汰策略 2.1 针对…...
指针和数组(二)
目录 指针和数组 数组名和指针的区别 多维数组 数组指针 语法 作用 内存大小 自增运算 【】运算 指针和数组 结论:数组的本质就是指针。数组的【】运算同样可以用指针来运算 证明 C代码 int array[5];int* ptr{ &array[0] };*ptr 5;array[0] 5;arr…...
Linux WIFI 驱动实验
目录WIFI 驱动添加与编译向Linux 内核添加WIFI 驱动配置Linux 内核编译WIFI 驱动驱动加载测试wireless tools 工具移植与测试wireless tools 移植wireless tools 工具测试wpa_supplicant 移植openssl 移植libnl 库移植wpa_supplicant 移植WIFI 联网测试RTL8188 USB WIFI 联网测…...
UART驱动情景分析-write
一、write过程分析 App写: 使用行规程来写数据最终存入uart_state->xmit的buffer里 硬件发送: 使用硬件驱动中uart_ops->start_tx开始发送具体的发送方式有两种:通过DMA、通过中断 中断方式: 方法1:直接使能tx …...
Metasploit入门到高级【第四章】
来自公粽号:Kali与编程预计更新第一章:Metasploit 简介 Metasploit 是什么Metasploit 的历史和发展Metasploit 的组成部分 第二章:Kali Linux 入门 Kali Linux 简介Kali Linux 安装和配置常用命令和工具介绍 第三章:Metasploi…...
java 继承super
在java继承中,如果子类继承父类,在子类中要给用构造器给父类的属性赋值,需要用到 super 举例,Son类继承Father 类,便于理解 在 new Son(String name, int age) 传入name,和age的值 将会调用Son这个构造器…...
Java学习笔记——多态
2.1 概述 引入 多态是继封装、继承之后,面向对象的第三大特征。 生活中,比如跑的动作,小猫,小狗和大象,跑起来都是不一样的。再比如飞的动作,昆虫、鸟类和飞机,飞起来是不一样的。可见&#x…...
Python处理JSON数据
Python和JSON JavaScript Object Notation (JSON) 是一种轻量级的数据交换格式,通常用于Web应用程序之间的数据交换。JSON的设计使得它非常易于人和机器阅读和编写。JSON数据格式与Python数据结构非常相似,因此Python中提供了一个json模块,用…...
JVM信息查询命令
1、查询jar包运行进程 jps #通过jps命令找出jar的进程IDps -ef|grep xxxx #通过包名找出进程ID2、查询JVM的堆信息 jmap -heap pid #通过jmap命令查询堆信息rootd57bff9f-c8nvn:/apps# jmap -heap 6 Picked up JAVA_TOOL_OPTIONS: -Xloggc:/data/tsf_apm/monitor/jvm…...
redis 面试题
🍕 redis 面试题常规问题什么是 Redis?为什么要使用 Redis?Redis 一般有哪些使用场景?Redis 为什么快?数据类型和数据结构Redis有哪些数据类型?常用操作和应用Bitmaps (位图) | 二进制计数与过滤计数器记录…...
SpringCloud微服务技术栈.黑马跟学(十二)
SpringCloud微服务技术栈.黑马跟学 十二今日目标服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化1.3.消费者消息确认1.3.1.演示none模式1.3…...
HashMap集合存储学生对象并遍历
需求:创建一个HashMap集合,键是学生对象(Student),值是居住地。存储多个键值对元素,并遍历。 要求保证键的唯一性:如果学生对象的成员变量值相同,我们就认为是同一个对象 思路: 定义…...
“提效”|教你用ChatGPT玩数据
ChatGPT与数据分析(二) 上文给简单聊了一下为什么ChatGPT不能取代数据分析师,本文我们来深入感受一下如何让GPT帮助数据分析师“提效”。 场景一:SQL取数 背景:多数数据分析师都要用SQL语言从数据库中提取数据&#x…...
https://app.hackthebox.com/machines/Inject
https://app.hackthebox.com/machines/Inject Ref: 1.https://blog.csdn.net/qq_58869808/article/details/129505388 2.https://blog.csdn.net/m0_73998094/article/details/129474782 info collecting ┌──(kwkl㉿kwkl)-[~/HODL/htb/Inject] └─$ nmap -A …...
Java Web 实战 15 - 计算机网络之网络编程套接字
文章目录一 . 网络编程中的基本概念1.1 网络编程1.2 客户端(client) / 服务器(server)1.3 请求(request) / 响应(response)1.4 客户端和服务器之间的交互数据1.4.1 一问一答1.4.2 多问一答1.4.3 一问多答1.4.4 多问多答二 . socket 套接字2.1 UDP 的 Socket API2.1.1 引子2.1.2…...
基于pdf2docx模块Python实现批量将PDF转Word文档(安装+完整代码教程)
PDF文件是一种常见的文档格式,但是在编辑和修改时不太方便,因为PDF本质上是一种静态的文档格式。因此,有时候我们需要将PDF文件转换成Word格式,以便更好地编辑和修改文档。在本篇文章中,我们将介绍如何使用Python实现P…...
3.21~3.22
识编程语言中的,局部变量,全局变量,以及变量生存周期,整形,浮点型数据的内存表示,od的内存窗口的使用 先看一个代码样例 #include<windows.h> #include<stdio.h>#pragma warning(disable:499…...
Chromium 改造实录:增加 MPEG TS 格式支持
在《选择最新 Chromium,支持 H264 / H265》一文中,记录了我通过升级 Chromium 版本解决了 H264 / H265 视频支持难题。然而难题接踵而至,这次的难题是 MPEG TS 流的支持。MPEG2-TS 传输流广泛应用于数字电视广播系统,所以是一个不…...
性能优化之-事件代理
js中的事件委托或是事件代理简单理解 事件委托也叫事件代理,“事件代理”即是把原本需要绑定在子元素的响应事件(click、keydown…)委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡。 概述&#x…...
MSDS 即化学品安全说明书
MSDS 即化学品安全说明书,亦可译为化学品安全技术说明书或化学品安全数据说明书,是化学品生产商和进口商用来阐明化学品的理化特性(如PH值,闪点,易燃度,反应活性等)以及对使用者的健康ÿ…...
经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析
一、题目背景与描述这是一道非常经典的概率与逻辑推理面试题,也是 LeetCode 第 1227 题「飞机座位分配概率」。题目描述有 n 位乘客即将登机,飞机正好有 n 个座位。第一位乘客的票丢了,他随机选一个座位坐下。剩下的乘客:如果自己…...
GPT-5.4 Pro接入Java!百万上下文+电脑操控,Spring AI集成教程
文章目录前言一、先搞清楚你在驯服什么野兽二、Spring AI Alibaba是什么鬼?核心优势三、环境准备:别在JDK版本上栽跟头四、基础对话:先让AI开口说话五、百万上下文的正确打开方式六、Computer Use:让AI真的动起来实际应用场景七、…...
别再只盯着ODD了!从特斯拉FSD和华为ADS的实战,聊聊ODC(设计运行条件)到底怎么落地
从特斯拉FSD到华为ADS:ODC实战落地的工程密码 当特斯拉车主在暴雨天启动FSD时,系统会先检查挡风玻璃上的雨滴传感器数据;而华为ADS用户试图在未系安全带状态下激活系统,仪表盘会立即弹出红色警告——这些看似简单的交互背后&…...
Claude浏览器扩展漏洞允许通过任意网站实现零点击XSS提示注入
网络安全研究人员披露了Anthropic公司Claude谷歌浏览器扩展中存在的一个漏洞,攻击者只需诱使用户访问特定网页即可触发恶意提示注入。漏洞原理分析Koi Security研究员Oren Yomtov在提供给The Hacker News的报告中指出:"该漏洞允许任何网站静默地向该…...
基于模糊PID的水下航行器运动控制系统研究——Matlab 2016b及以上软件应用、课程报告...
基于模糊PID的水下航行器运动控制系统研究 1.适用软件Matlab 2016b及以上 2.课程报告6500字左右共16页 3.课程报告小报告仿真仿真视频 4.请结合以下图片水下航行器的运动控制一直是海洋工程领域的热门课题。面对复杂多变的洋流扰动和强非线性的水动力特性,传统PID控…...
LxgwWenkaiGB:合规开源字体的专业应用指南
LxgwWenkaiGB:合规开源字体的专业应用指南 【免费下载链接】LxgwWenkaiGB An open-source Simplified Chinese font derived from Klee One. 项目地址: https://gitcode.com/gh_mirrors/lx/LxgwWenkaiGB LxgwWenkaiGB(霞鹜文楷 GB)作为…...
Spring Boot 3.2项目实战:5分钟搞定Tomcat虚拟线程配置,让你的接口吞吐量翻倍
Spring Boot 3.2虚拟线程实战:Tomcat配置优化与性能飞跃指南 当你的电商大促接口突然面临每秒上万请求,或者文件上传服务在高并发下响应缓慢时,传统线程池往往成为性能瓶颈。Spring Boot 3.2与Java 21的虚拟线程组合,正在重新定义…...
如何快速找到领域内的核心论文?3 条最有效路径
在做科研文献检索时,很多研究者都会遇到同一个问题: 文献很多,但不知道哪些最重要。例如,当你在数据库中输入一个研究关键词时,检索结果可能会出现几百篇甚至上千篇论文。面对如此庞大的文献数量,很多人会产…...
OpenArk:新一代Windows系统安全分析工具完整指南
OpenArk:新一代Windows系统安全分析工具完整指南 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 如果你正在寻找一款强大的Windows系统安全分析工具&#…...
Python子解释器隔离全解密(从PyThreadState到_PyInterpreterState):20年源码级剖析,首次公开CPython内部隔离边界图谱
第一章:Python子解释器隔离的演进脉络与核心挑战Python长期以来依赖全局解释器锁(GIL)保障线程安全,但这也限制了真正的并行执行能力。为突破这一瓶颈,CPython自3.12起正式引入子解释器(subinterpreters&am…...
