首页 > 数据库 >Redis过期删除策略和内存淘汰机制

Redis过期删除策略和内存淘汰机制

时间:2024-04-06 20:01:03浏览次数:11  
标签:过期数据 从键 删除 过期 Redis volatile 内存 淘汰

过期删除策略

1、惰性删除

就是过期之后下一次取数据时,发现过期了,就删除它。

2、定期删除

定期删除一些过期的key。

redis采用的时惰性删除+过期删除。

问题:可能会漏掉一些key,从而导致OOM。

内存淘汰机制3*2+2

volatile-lru:从过期数据集中选择最近最少使用的数据淘汰。

allKeys-lru:从键空间中选择最近最少使用的key淘汰。

volatile-lfu:从过期数据选择最不经常使用的数据淘汰。

allkeys-lfu:从键空间中选择最不经常使用的数据淘汰。

volatile-random:从过期数据集中随机挑选数据淘汰。

allkeys-random:从键空间中随机选择数据淘汰。

volatile-ttl:从过期数据集中选择即将过期的数据淘汰。

no-eviction:内存不足时,新写入操作报错。

标签:过期数据,从键,删除,过期,Redis,volatile,内存,淘汰
From: https://blog.csdn.net/weixin_45967584/article/details/137435851

相关文章

  • 43.数据在内存中的存储
    1.整数在内存中的存储整数的2进制表⽰⽅法有三种,即原码、反码和补码三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”,⽤1表⽰“负”,⽽数值位最⾼位的⼀位是被当做符号位,剩余的都是数值位。正整数的原、反、补码都相同。负整数的三种表⽰⽅法各不相同。原......
  • Redis数据库的入门学习
     关系型数据库和非关系型数据库的区别:简介Redis数据库和MySql数据库的区别:Redis数据库是基于内存的key-value结构的数据库。本质上是内存存储。而MySql数据库是通过数据文件的方式存在磁盘当中,本质上是磁盘存储。且MySql当中是通过二维表存储数据。注:Redis数据库并不......
  • Tomcat内存马回显
    回顾JSP马详情见:https://www.cnblogs.com/F12-blog/p/18111253之前说的都是利用jsp注入内存马,但Web服务器中的jsp编译器还是会编译生成对应的java文件然后进行编译加载并进行实例化,所以还是会落地。但如果直接注入,比如利用反序列化漏洞进行注入,由于request和respons......
  • go~在阿里mse上使用redis.call
    相关依赖github.com/higress-group/proxy-wasm-go-sdkgithub.com/alibaba/higress/plugins/wasm-go标准的redis下面是一个读取redis指定key的方法,使用了higress的wasm-go组件实现的 err:=config.Client.SMembers("online",func(responseresp.Value){ for_,item:=......
  • Redis缓存三兄弟
    Redis缓存的问题都是因为缓存过期,导致大量请求打到数据库,给数据库添加了压力。以下是典型的三个缓存问题。缓存穿透概念缓存穿透:频繁请求缓存和数据库中没有的数据,导致数据库的压力过大解决方案规则校验:增加对key的规则校验,防止恶意请求设默认值:数据库中没有数据时,给该......
  • 在Linux中,虚拟内存和交换空间作用是什么?
    在Linux系统中,虚拟内存和交换空间是用于扩展物理内存(RAM)容量的两种机制。它们允许系统在物理内存不足时继续运行程序和处理数据,从而提高了系统的可用性和稳定性。1.虚拟内存(VirtualMemory)概念:虚拟内存是一种内存管理技术,它使得系统可以访问比物理内存更多的内存空间。虚拟......
  • Redis从入门到精通(七)Redis实战(四)库存超卖、一人一单与Redis分布式锁
    ↑↑↑请在文章开头处下载测试项目源代码↑↑↑文章目录前言4.3优惠券秒杀4.3.4库存超卖问题及其解决4.3.4.1问题分析4.3.4.2问题解决4.3.5一人一单需求4.3.5.1需求分析4.3.5.2代码实现4.3.5.3并发问题4.3.5.4悲观锁解决并发问题4.3.5.5集群环境下的并发问题......
  • 虚拟内存知识详解
    虚拟内存单片机的CPU是直接操作内存的「物理地址」在这种情况下,要想在内存中同时运行两个程序是不可能的操作系统是如何解决这个问题呢?关键的问题是这两个程序都引用了绝对物理地址,而这正是我们最需要避免的。可以把进程所使用的地址「隔离」开来,即让操作系统为每......
  • 详解 Redis 在 Ubuntu 系统上的安装
    在Ubuntu20.04安装Redis1.先切换到root用户在Ubuntu20.04中,可以通过以下步骤切换到root用户:输入以下命令,以root用户身份登录:sudosu-按回车键,并输入当前用户的密码(即具有sudo权限的用户的密码)如果密码正确,将会切换到root用户,并且提示符会变为以r......
  • Redis中惰性策略的启发和流量包应用设计
    引言    在技术领域,许多中间件之所以获得巨大成功,部分原因在于它们所采用的思想之先进。这些思想解决了一个个世纪难题,接下来我将讲述一个我学习到的思想,并将其应用至工作中的案例。        惰性策略在日常编码中随处可见,但究竟什么是惰性策略呢?简而言之,惰性......