`
liulanghan110
  • 浏览: 1072548 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于缓存的一点感悟

阅读更多

关于缓存,就是有个东西你经常要用,但是每次找它都很麻烦,然后就把它放在一个很容易找到的地方,这样每次用的时候就方便了。

 

    就像你买一些你喜欢吃的水果放到家里的冰箱里,以后你想吃水果的时候,可以直接从冰箱里拿,而不是去水果店买。

 

     先说下CPU的缓存。CPU执行时所需要的指令和数据都需要从内存中取,可是,从内存中取数据会比较麻烦。那么就想到了一个办法,可不可以将常用的数据存 到方便CPU读取的地方,如果那个地方找不到,再去内存中找呢?这样,就出现了缓存。将常用的数据存到缓存里,这样每次CPU找数据时先从缓存找,找不到 再从内存找。

 

      这里就有一个问题,什么是常用的数据。如果缓存里放的不是常用的数据,那么CPU会经常从缓存找数据找不到再到内存找,这样效率会很低。所以,就需要好的算法来确定哪些是常用的数据。这里说一种LRU算法,也就是最近最少使用算法。

 

       当CPU从缓存中找数据时,如果找到,则称为命中,如果没找到,则是没命中,会再从内存中找。当CPU没有命中从内存中找到数据后,会根据LRU算法来确定需要将缓存里的哪个数据换出来,从而将新的数据放进去。

 

       下面说下关于缓存的应用。

 

        一般来说,缓存有两种,将常用的数据存到磁盘上,或者将常用的数据存到内存。比如COOKIE就是将数据存在用户的磁盘上。也可以将数据放在内存中。在用 户登录的时候,将用户的各种信息放在一个全局的HashMap。那么这样有什么好处呢,以后每次要用到用户的信息时,不用访问数据库查找信息,直接从 hashMap总读取。这样就减少的数据库访问次数。但是,这样也有一个坏处,就是每次用户数据更新时,都得更新hashmap,如果哪次忘记了更新,则 会导致更新的数据无效,发生很多奇怪的问题。

 

          所以有时候对于是否用缓存就有一个选择的考虑,缓存可以方便取数据,但是数据更新的时候就不那么方便了

0
1
分享到:
评论

相关推荐

    关于缓存的一点心得

    关于缓存的一点心得 一、缓存的基本概念与分类 缓存技术是现代软件开发中提高系统性能的重要手段之一,特别是在Web应用中扮演着关键角色。根据存储内容的不同,缓存可以分为两大类:页面缓存和数据缓存。 1. **...

    关于缓存的一些资料 关于缓存的一些资料

    本篇文章将深入探讨关于缓存的一些核心概念、工作原理以及在ASP.NET中的应用。 首先,我们要理解缓存的基本原理。缓存是一种存储机制,它临时存储经常访问的数据,以便快速获取。当一个请求到达时,系统会首先检查...

    浏览器缓存机制介绍与缓存策略剖析.pptx

    浏览器缓存机制介绍与缓存策略剖析 浏览器缓存机制是指浏览器在请求资源时,对已经请求过的资源进行缓存,以便下次请求时可以直接从缓存中获取,从而提高页面加载速度和减少服务器的压力。本文将详细介绍浏览器缓存...

    缓存缓存缓存缓存缓存缓存缓存缓存

    缓存缓存缓存缓存缓存缓存缓存缓存

    面试中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级怎么解答?.docx

    在面试中,对于缓存相关的知识点,面试官可能会考察你对缓存雪崩、缓存穿透、缓存预热、缓存更新以及缓存降级的理解和处理策略。以下是这些概念的详细解释: 1. **缓存雪崩** 缓存雪崩是指大量缓存在同一时刻过期...

    深入理解MyBatis中的一级缓存与二级缓存

    "深入理解MyBatis中的一级缓存与二级缓存" MyBatis是一种流行的持久层框架,它提供了缓存机制来提高应用程序的性能。在MyBatis中,有两种类型的缓存:一级缓存和二级缓存。下面我们将深入了解MyBatis中的一级缓存和...

    WPF缓存实例WPF缓存实例

    **WPF缓存实例详解** Windows Presentation Foundation (WPF) 是微软推出的用于构建桌面应用程序的框架,它提供了丰富的用户界面和图形渲染能力。在开发复杂的WPF应用时,缓存技术是提高性能的关键,尤其在处理大量...

    缓存_缓存_

    缓存技术是IT领域中一个至关重要的概念,它在提高系统性能、降低延迟以及优化资源利用率方面发挥着关键作用。本文将深入探讨缓存的基本原理、类型、工作机制以及常见应用,帮助初学者全面理解这一核心概念。 首先,...

    缓存、缓存算法和缓存框架简介.docx

    在 IT 领域,缓存是一种重要的技术,用于提高应用程序的性能和响应速度。缓存的基本原理是将常用数据存储在高速、接近计算单元的地方,以便快速访问,减少对慢速存储(如硬盘或网络)的依赖。本文将深入探讨缓存、...

    spring简单的缓存

    在IT行业中,缓存是一种非常重要的技术,它能够提高应用程序的性能和响应速度,通过将经常访问的数据存储在快速访问的内存中,避免了频繁的数据库查询或计算。本示例将聚焦于“Spring简单的缓存”实现,帮助开发者...

    缓存、缓存算法和缓存框架简介 - 文章 - 伯乐在线.pdf

    面试官询问关于缓存算法及其作用时,面试者更是无法回答,显示出对缓存算法的基本概念和应用缺乏了解。 命中率是指访问缓存时成功获取数据的次数与总访问次数的比例。命中率越高,说明缓存效果越好,能够有效减少对...

    asp.net缓存 缓存

    ASP.NET缓存是微软开发的Web应用程序框架中的一个重要特性,用于提高网站性能和减少服务器负载。缓存技术在.NET框架中扮演着至关重要的角色,它能够存储数据以便快速访问,从而减少对数据库或其他慢速资源的依赖。在...

    本地缓存与分布式缓存优缺点,使用

    本地缓存与分布式缓存优缺点、使用场景 缓存是计算机系统中的一种优化技术,通过将频繁访问的数据存储在内存中,以减少对外部存储设备的访问次数,提高系统的响应速度和性能。本文将详细介绍本地缓存与分布式缓存的...

    JSP 页面缓存以及清除缓存

    ### JSP 页面缓存及其清除方法详解 #### 一、JSP页面缓存的重要性与应用场景 JSP(Java Server Pages)技术是一种结合了HTML、XML和Java编程的技术,用于创建动态网页。在JSP开发中,页面缓存是一种常用的技术手段...

    hibernate一级缓存、二级缓存和查询缓存

    **hibernate一级缓存、二级缓存和查询缓存** 在Java的持久化框架Hibernate中,缓存机制是提高应用程序性能的关键要素。缓存能够减少数据库的访问次数,提高数据读取速度,并且在一定程度上降低了系统的负载。本文将...

    redis本地缓存与redis缓存

    关于数据库的缓存策略,我们可以采用“缓存-数据库双写”模式,即在更新数据库的同时更新缓存,但这可能导致短暂的数据不一致。为了缓解这个问题,可以采用“写后读”策略,确保在写操作成功后立即读取,确保数据...

    PHP 缓存 PHP 缓存

    2. **页面缓存:**页面缓存技术可以将整个网页或其部分静态化,从而减少每次请求时的动态生成过程,显著提升页面加载速度。 3. **浏览器缓存:**浏览器缓存主要用于存储用户经常访问的网页资源,如图片、样式表和...

    springboot缓存一致性解决

    在Spring Boot应用中,缓存一致性是一个重要的议题,特别是在分布式系统中,多个节点可能同时访问并更新同一数据,导致缓存中的数据不一致。本文将深入探讨Spring Boot中如何处理和解决缓存一致性问题。 首先,我们...

    hibernate一级缓存和二级缓存的区别与联系

    Hibernate 是一个流行的对象关系映射(ORM)框架,它提供了数据缓存机制以优化数据库访问性能。缓存机制分为一级缓存和二级缓存,两者都有助于减少对物理数据库的直接访问,从而提高应用程序的运行效率。 一级缓存...

    java map 实现缓存技术

    7. **缓存击穿与缓存雪崩**:处理大量并发请求同时导致缓存失效(击穿)或整个缓存服务崩溃(雪崩)的问题,可以通过加锁、使用分布式锁、预热缓存等方式解决。 8. **监控与统计**:为了优化缓存性能,需要收集和...

Global site tag (gtag.js) - Google Analytics