redis 7.x 内存过期淘汰策略

这篇具有很好参考价值的文章主要介绍了redis 7.x 内存过期淘汰策略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 redis内存过期讨论策略

1.1 查看与设置redis默认的内存大小

1.查看redis默认内存大小

config  get  maxmemory

config set  maxmemory    1024

注意:在64-bit系统下,maxmemory设置为0表示不限制redis的内存使用。

1.2 操作案例说明

127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "0"
127.0.0.1:6379> config set maxmemory 1
OK
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "1"
127.0.0.1:6379> set k1  liujianfu
(error) OOM command not allowed when used memory > 'maxmemory'.
127.0.0.1:6379> config set maxmemory 0
OK
127.0.0.1:6379> config get maxmemory 1
1) "maxmemory"
2) "0"
127.0.0.1:6379> set k1 liujianfu
OK
127.0.0.1:6379> keys *
1) "k1"
127.0.0.1:6379> 

1.2 lru与lfu 页面淘汰算法

LRU: 最近最少使用页面置换算法,查看页面最后一次被使用到发生调度的时间长度,首先淘汰最长时间未被使用的页面。
LFU:最近最不经常使用页面置换算法,淘汰规定时间段范围内,使用次数最少的页面。
举个例子:某次时间time为10分钟,如果每分钟进行一次调度,主存块为3,页面走向为2121234
假设页面4时会发生页面中断。
如果按LRU算法,应该置换页面1(3个一组,234,没有1,则1最少使用);使用LFU算法应该置换页面3(10分钟3出现次数最少)
总结:LRU主要看页面最后一次被使用到发生调度的时间长短;而LFU在一定时间内页面被使用的频率。

1.3  redis过期key删除策略

1.3.1 立即删除

立即删除能保证内存中数据的最大新鲜度,因为它保证过期键值会在过期后马上被删除,其所占用的内存也会随之释放。但是立即删除对cpu是最不友好的。因为删除操作会占用cpu的时间,如果刚好碰上了cpu很忙的时候,比如正在做交集或排序等计算的时候,就会给cpu造成额外的压力,让CPU心累,时时需要删除,忙死。。。。。。。这会产生大量的性能消耗,同时也会影响数据的读取操作。

1.3.2 惰性删除

数据到达过期时间,不做处理。等下次访问该数据时,如果未过期,返回数据 ;发现已过期,删除,返回不存在。

 惰性删除策略的缺点是,它对内存是最不友好的

1.3.3 定时删除

Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。

Redis 提供 8种数据淘汰策略

1.noevication 不设置策略,达到峰值直接报error。默认的配置。

2.allkeys-lru:对所有key使用LRU算法进行删除,优先删除掉最近不经常使用的key,用以保存最新数据。

3.allkeys-random:对所有key随机删除

4.allkeys-lfu:对所有key使用lfu算法进行删除。

5.volatile-lru:对所有设了过期时间的key使用lru进行删除。

6.volatile-random: 对设置过期时间的key随机进行删除

7.volatile-ttl:删除马上要过期的key

8.volatile-lfu:对所有设置了过期时间的key使用lfu算法进行删除。文章来源地址https://www.toymoban.com/news/detail-470077.html

到了这里,关于redis 7.x 内存过期淘汰策略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis的内存淘汰策略

    Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时,怎么处理需要新写入且需要申请额外空间的数据。 noeviction :当内存不足以容纳新写入数据时,新写入操作会报错。 allkeys-lru :当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。(这个是最常用

    2024年02月10日
    浏览(27)
  • Redis 内存淘汰策略详解

    Redis 是一款高性能的非关系型数据库,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合和 HyperLogLog。Redis 可以用于缓存、消息队列、应用程序中的数据结构存储等场景,它的优点是响应速度快、支持丰富的数据结构和扩展性好。 Redis 将所有数据都存储在内存中

    2024年02月10日
    浏览(41)
  • Redis内存兜底策略——内存淘汰及回收机制

    Redis内存淘汰及回收策略都是Redis 内存优化兜底 的策略,那它们是如何进行 兜底 的呢?先来说明一下什么是内存淘汰和内存回收策略: Redis内存淘汰:当Redis的内存使用 超过配置 的限制时,根据一定的策略删除一些键,以 释放内存空间 Redis内存回收:Redis通过 定期删除 和

    2024年02月06日
    浏览(28)
  • Redis追本溯源(三)内核:线程模型、网络IO模型、过期策略与淘汰机制、持久化

    Redis在处理客户端请求时,通常使用单线程来进行读取、解析、执行和响应返回,因此被称为单线程应用。在4.0版本之前,这一描述是准确的。 单线程: 读取、解析、执行和响应返回。 从4.0版本开始,Redis开始使用后台线程来处理一些耗时的操作,如清理脏数据、释放超时连

    2024年02月15日
    浏览(35)
  • Redis中的淘汰策略

    本文主要说明在Redis面临key过期和内存不足的情况时,可以采用什么策略进行解决问题。 正如我们知道的Redis是基于内存的、单线程的一个中间件,在面对过期数据的时候,Redis并不会去直接把它从内存中进行剔除,因为Redis是单线程的,如果出现了过期key就立马去删除,可能

    2024年02月11日
    浏览(32)
  • Redis内存优化——内存淘汰及回收机制

    本文是系列文章,为了增强您的阅读体验,已将系列文章目录放入文章末尾。👍👍👍 Redis内存淘汰及回收策略都是Redis 内存优化兜底 的策略,那它们是如何进行 兜底 的呢?先来说明一下什么是内存淘汰和内存回收策略: Redis内存淘汰:当Redis的内存使用 超过配置 的限制时

    2024年02月08日
    浏览(28)
  • redis内存淘汰机制

    给redis设置过期时间有啥用? 防止out of memory 有些业务场景只需要数据在一定时间内存在 验证码 用户token之类的 redis如何判断数据是否过期的? 通过一个过期字典,可以看作hash表,字典的键指向redis数据库中的key,值是long类型的整数(时间戳) redis删除策略? 惰性删除 定期删除 定期对

    2024年01月17日
    浏览(33)
  • Redis-内存淘汰算法

    32位的操作系统默认3G 谁现在用32位啊?我们说64位的 一般来讲是不设上限的 但是我们也可以主动配置maxmemory, maxmemory支持各单位: maxmemory 1024 (默认字节) maxmemory 1024KB maxmemory 1024MB maxmemory 1204GB 当Redis存储超过这个配置值,则触发Redis内存淘汰。 实际上,每次进行读写的时候,都

    2024年02月12日
    浏览(27)
  • Redis_缓存2_缓存删除和淘汰策略

    14.5.1 过期数据 可以使用ttl查看key的状态。已过期的数据,redis并未马上删除。优先去执行读写数据操作,删除操作延后执行。 14.5.2 删除策略 redis中每一个value对应一个内存地址,在expires,一个内存地址,对应一个时间截,如果达到指定时间,就完成删除处理 三种删除策略

    2024年02月13日
    浏览(44)
  • LRU算法与Caffeine、Redis中的缓存淘汰策略

    在现代计算机系统中,缓存是提高系统性能的关键技术之一。为了避免频繁的IO操作,常见的做法是将数据存储在内存中的缓存中,以便快速访问。然而,由于内存资源有限,缓存的大小是有限的,因此需要一种策略来淘汰缓存中的数据,以便为新的数据腾出空间。本文将介

    2024年02月12日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包