首页 > 其他分享 >缓存特征了解

缓存特征了解

时间:2024-05-03 21:11:42浏览次数:27  
标签:缓存 策略 特征 命中率 元素 场景 了解 数据

转自:https://tech.meituan.com/2017/03/17/cache-about.html

1.介绍

1.1命中率

命中率=返回正确结果数/请求缓存次数,命中率问题是缓存中的一个非常重要的问题,它是衡量缓存有效性的重要指标。命中率越高,表明缓存的使用率越高。

1.2 最大元素

缓存中可以存放的最大元素的数量,一旦缓存中元素数量超过这个值(或者缓存数据所占空间超过其最大支持空间),那么将会触发缓存启动清空策略。根据不同的场景合理的设置最大元素值往往可以一定程度上提高缓存的命中率,从而更有效的时候缓存。

1.3清空策略 

FIFO:

先进先出策略,最先进入缓存的数据在缓存空间不够的情况下(超出最大元素限制)会被优先被清除掉,以腾出新的空间接受新的数据。策略算法主要比较缓存元素的创建时间。在数据实效性要求场景下可选择该类策略,优先保障最新数据可用。

LFU(less frequently used):

最少使用策略,无论是否过期,根据元素的被使用次数判断,清除使用次数较少的元素释放空间。策略算法主要比较元素的hitCount(命中次数)。在保证高频数据有效性场景下,可选择这类策略。

LRU(Least Recently Used):

当缓存清理时,优先清理长久未被访问的数据,保留最近被访问过的数据。最近最少使用策略,无论是否过期,根据元素最后一次被使用的时间戳,清除最远使用时间戳的元素释放空间。策略算法主要比较元素最近一次被get使用时间。在热点数据场景下较适用,优先保证热点数据的有效性。

 

标签:缓存,策略,特征,命中率,元素,场景,了解,数据
From: https://www.cnblogs.com/BlueBlueSea/p/18171624

相关文章

  • 高并发缓存架构实战和优化
    参考资料:图灵课堂-https://vip.tulingxueyuan.cn 中小公司Redis缓存架构以及线上问题分析直接写入数据库,然后更新redis;正常低并发情况下,这种情况是暂时不会出现问题的,因为并发量并不高,不会出现各种各样的并发问题。大厂线上大规模商品缓存数据冷热分离实战使用缓存,主要是......
  • OpenMLDB v0.9.0 发布:SQL 能力大升级覆盖特征上线全流程
    发布日期25April2024Releasenotehttps://github.com/4paradigm/OpenMLDB/releases/tag/v0.9.0亮点特性增加最新版SQLAlchemy2的支持,无缝集成Pandas和Numpy等常用Python框架。支持更多数据后端,融合TiDB的分布式文件存储能力以及OpenMLDB内存高性能特征计算......
  • 浏览器缓存
    浏览器缓存基本的原理就是:浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中按位置分类ServerworkerServiceWorker是运行在浏览器背后的独立线程,一般可以用来实现缓存功能。使......
  • 随机森林特征重要性评估与Python实现(三)
    特征重要性评估(Variableimportancemeasure,orFeatureimportanceevaluation,VIM)用来计算样本特征的重要性,定量地描述特征对分类或者回归的贡献程度。随机森林(RandomForest)作为一种强大的机器学习算法,在特征重要性评估方面具有显著优势。特征重要新评估是随机森林的一种自带......
  • 快速了解Django:核心概念解析与实践指南
    title:快速了解Django:核心概念解析与实践指南date:2024/5/120:31:41updated:2024/5/120:31:41categories:后端开发tags:Django核心路由系统视图系统ORM管理中间件Web框架登录装饰器第一章:Django简介背景和发展历程:Django是一个开放源代码的Web应用框架......
  • uniapp 清除缓存
    //清除所有数据clearAppUserData(){plus.android.importClass("android.app.ActivityManager");varContext=plus.android.importClass("android.content.Context");varam=plus.android......
  • 从自定义一个作用域开始来了解SpringBean的作用域
    你好,这里是codetrend专栏“Spring6全攻略”。在Spring框架中,Bean的作用域(Scope)定义了Bean实例在容器中如何创建、管理和销毁的策略。Spring提供了多种Bean作用域,每种作用域都有其特定的生命周期和适用场景。先试试不同的BeanScope下面通过一个简单的SpringMVCCon......
  • 缓存中的这7个坑,我把坑惨了!!!
    前言缓存在我们日常工作中,经常会使用,但如果用不好坑也挺多的。这篇文章总结了我工作中使用缓存遇到过的7个坑,还是非常有参考价值得,希望对你会有所帮助。1缓存穿透大部分情况下,加缓存的目的是:为了减轻数据库的压力,提升系统的性能。一般情况下,如果有用户请求过来,先查缓存,如果......
  • Redis 缓存/分布式锁/消息队列的应用
    缓存缓存是最常见的的应用类型,因为同等配置下,如果一台MySQL能支持上千的QPS,那么一台redis支持的QPS能达到上万,十倍于MySQL。客户端将热点数据存储在redis中,优先从redis读取数据,可以减轻数据库的访问压力。但将redis作为缓存,也存在一些问题,例如数据不一致。数据不一致场景:redis......
  • 面向对象三大特征之封装及property
    Ⅰ面向对象三大特征之封装【一】面向对象的三大特性#继承#封装#多态#其中之一就是封装:就是将数据与功能整合到一起#类里面定义数据和方法的时候,都会有一个需求,某些方法和属性是不能让别人看到的【二】什么是封装#封装就是对具体的对象的一种抽象#意思就是将某......