iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么删掉redis中的过期key
  • 1029
分享到

怎么删掉redis中的过期key

2024-04-02 19:04:59 1029人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关怎么删掉Redis中的过期key,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近我们在Redis集群中发现了一个有趣的问题。在花费大量时间进

这篇文章将为大家详细讲解有关怎么删掉Redis中的过期key,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

最近我们在Redis集群中发现了一个有趣的问题。在花费大量时间进行调试和测试后,通过更改key过期,我们可以将某些集群中的Redis内存使用量减少25%。

Twitter内部运行着多个缓存服务。其中一个是由Redis实现的。我们的Redis集群中存储了一些Twitter重要的用例数据,例如展示和参与度数据、广告支出计数和直接消息。

问题背景              

早在2016年初,Twitter的Cache团队就对Redis集群的架构进行了大量更新。Redis发生了一些变化,其中包括从Redis 2.4版到3.2版的更新。

在此更新后,出现了几个问题,例如用户开始看到内存使用与他们的预期或准备使用的内存不一致、延迟增加和key清除问题。key的清除是一个很大的问题,这可能导致本应持久化的数据可能被删除了,或者请求发送到数据原始存储。

初步调查

受影响的团队和缓存团队开始进行初步的调查。我们发现延迟增加与现在正在发生的key清除有关。当Redis收到写入请求但没有内存来保存写入时,它将停止正在执行的操作,清除key然后保存新key。

但是,我们仍然需要找出导致这些新清除的内存使用量增加的原因。

我们怀疑内存中充满了过期但尚未删除的key。有人建议使用扫描,扫描的方法会读取所有的key,并且让过期的key被删除。

在Redis中,key有两种过期方式,主动过期和被动过期。扫描将触发key的被动过期,当读取key时, TTL将会被检查,如果TTL已过期,TTL会被删除并且不返回任何内容。

Redis文档中描述了版本3.2中的key的主动过期。key的主动过期以一个名为activeExpireCycle的函数开始。它以每秒运行几次的频率,运行在一个称为cron的内部计时器上。

activeExpireCycle函数的作用是遍历每个密钥空间,检查具有TTL集的随机kry,如果满足过期kry的百分比阈值,则重复此过程直到满足时间限制。

这种扫描所有key的方法是有效的,当扫描完成时,内存使用量也下降了。似乎Redis不再有效地使key过期了。

但是,当时的解决方案是增加集群的大小和更多的硬件,这样key就会分布得更多,就会有更多的可用内存。这是令人失望的,因为前面提到的升级Redis的项目通过提高集群的效率降低了运行这些集群的规模和成本。

关于删掉redis中的过期key的方案就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么删掉redis中的过期key

本文链接: https://www.lsjlt.com/news/38540.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis如何删除过期key策略
    在Redis中删除过期key有两种策略: 主动删除:Redis会在每次访问key时检查其是否过期,如果过期则立即删除。这种方式会...
    99+
    2024-04-02
  • Redis中怎么设置过期时间的Key
    Redis中怎么设置过期时间的Key,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、 DEL/SET/GETSET等命令会清除过期时间在使用...
    99+
    2024-04-02
  • 怎么在redis中设置key的过期时间
    在redis中设置key过期时间的方法:1.启动redis服务;2.登录redis数据库;3.执行命令设置过期时间;具体步骤如下:首先,在命令行中启动redis服务;service redis start mysql服务启动后,输入用户名,...
    99+
    2024-04-02
  • Redis中过期键怎么删除
    这篇“Redis中过期键怎么删除”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Redis中过期键怎么删除”文章吧。前言Red...
    99+
    2023-06-30
  • 怎么在Redis集群中监听过期key
    这篇文章将为大家详细讲解有关怎么在Redis集群中监听过期key,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。redis.host1: 10.11...
    99+
    2024-04-02
  • Redis中key过期如何解决
    这篇文章给大家介绍Redis中key过期如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。初步调查受影响的团队和缓存团队开始进行初步的调查。我们发现延迟增加与现在正在发生的key清...
    99+
    2024-04-02
  • Redis设置key的过期时间
    Redis中可以设置数据的过期时间,一旦过期自动删除数据。 1.设置过期时间 expire 127.0.0.1:6379> set name "ok" //设置10s后过期,e...
    99+
    2023-01-28
    Redis设置key过期时间 Redis key过期时间
  • 怎么在redis中删除Key
    在redis中删除Key的方法:1.启动redis服务;2.登录redis数据库;3.执行命令删除;具体步骤如下:首先,在命令行中启动redis服务;service redis start  mysql服务启动后,输入用户名和密码,登录re...
    99+
    2024-04-02
  • redis的过期删除策略怎么写
    在Redis中,有两种过期删除策略可以选择:1. 惰性删除策略(Lazy Expiration):当客户端尝试访问一个已过期的键时,...
    99+
    2023-08-20
    redis
  • redis过期key处理的方法是什么
    Redis过期key的处理方法有以下几种:1. 被动删除:当客户端尝试访问一个已经过期的key时,Redis会立即删除该key,并返...
    99+
    2023-09-11
    redis
  • redis key键过期删除策略及淘汰机制探究
    目录Redis过期删除删除策略淘汰机制redis过期删除 redis的键可以设置过期时间,但是并不是每个键一到过期时间就会立即删除,redis不可能给每个设置过期时间的key上添加一个定时器来监视是否过期,CPU根本承受...
    99+
    2023-11-17
    redis key键过期删除 redis key
  • redis过期后不删除会怎么样
    如果Redis中的数据设置了过期时间但过期后没有被删除,会出现以下情况:1. 读取过期的数据:当尝试读取过期的数据时,Redis会返...
    99+
    2023-09-11
    redis
  • redis怎么设置key的有效期
    这篇文章主要介绍“redis怎么设置key的有效期”,在日常操作中,相信很多人在redis怎么设置key的有效期问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis怎么设置key的有效期”的疑惑有所帮助!...
    99+
    2023-06-26
  • Redis监听过期的key实现流程是什么
    本篇内容介绍了“Redis监听过期的key实现流程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简介我们来个最简单的集群架构,如下...
    99+
    2023-07-05
  • 怎么删除redis的set类型key
    要删除Redis的set类型key,可以使用以下命令:1. 使用DEL命令删除key:   ```   DEL ...
    99+
    2023-08-30
    redis
  • Redis通过scan查找不过期的 key(方法详解)
    Redis Scan 命令用于迭代数据库中的数据库键。 SCAN 返回一个包含两个元素的数组, 第一个元素是用于进行下一次迭代的新游标, 而第二个元素则是一个数组, 这个数组中包含了...
    99+
    2024-04-02
  • Redis监听过期的key实现流程详解
    目录一、简介二、maven依赖三、编码实现3.1、application.properties3.2、Redis配置类3.3、监听器3.4、服务类3.5、工具类四、测试4.1、测试类...
    99+
    2023-02-28
    Redis监听过期的key Redis监听key
  • redis中怎么批量删除指定key
    在Redis中,可以使用DEL命令批量删除指定的key。DEL命令可以同时删除一个或多个key,只要将需要删除的key作为参数传递给...
    99+
    2023-09-06
    redis
  • Redis中redis-cluster如何删除指定的key
    这篇文章主要为大家展示了“Redis中redis-cluster如何删除指定的key”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis中redis-clu...
    99+
    2024-04-02
  • Redis中过期策略是怎么样的
    这篇文章将为大家详细讲解有关Redis中过期策略是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。保存过期时间Redis可以为每个key设置过期时间,会将每个设置了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作