精华内容
下载资源
问答
  • 如题,cookie=缓存吗?缓存和内存间又是什么关系?望通俗易懂的解答
  • 缓存和内存的理解

    千次阅读 2019-03-27 15:23:29
    缓存是为了解决CPU速度和内存速度的速度差异问题 特别提醒: 1、因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是...

    缓存可以认为是内存的一部分,但是也不能简单地这样认为

    缓存是为了解决CPU速度和内存速度的速度差异问题

    特别提醒:

    1、因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次再到内存中去取

    2、因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的

    3、关于一级缓存和二级缓存

    为了分清这两个概念,我们先了解一下RAM(随机存取存储器)

    RAM和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种

    RAM又分两种:

    一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。

    为了增加系统的速度,把缓存扩大不就行了吗?扩大的越大,缓存的数据越多,系统不就越快了吗?

    缓存通常都是静态RAM,速度是非常的快

    但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍)

    价格高(同容量的静态RAM是动态RAM的四倍)

    由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为

    但是为了提高系统的性能和速度,我们必须要扩大缓存

    这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM作为缓存

    这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢

    我们把原来的静态RAM缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存

    一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问,通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了

    展开全文
  • 缓存和内存的延迟

    千次阅读 2018-01-04 11:36:45
    来自java特种兵  一般来讲, 一级缓存与cpu的延迟一般在2~3ns之间 二级缓存通常在10~15ns, 三级缓存为20~30ns, 而内存通常会在50ns以上甚至更高。

    来自java特种兵

      一般来讲,

    一级缓存与cpu的延迟一般在2~3ns之间

    二级缓存通常在10~15ns,

    三级缓存为20~30ns,

    而内存通常会在50ns以上甚至更高。  

    展开全文
  • 缓存和内存的区别

    千次阅读 2018-09-12 14:08:31
    许多人认为,“缓存”是内存的一部分  许多技术文章都是这样教授的  但是还是有很多人不知道缓存在什么地方,缓存是做什么用的  其实,缓存是CPU的一部分...缓存是为了解决CPU速度和内存速度的速度差异问题  内...

    许多人认为,“缓存”是内存的一部分 
    许多技术文章都是这样教授的 
    但是还是有很多人不知道缓存在什么地方,缓存是做什么用的 
    其实,缓存是CPU的一部分,它存在于CPU中 
    CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大 
    缓存是为了解决CPU速度和内存速度的速度差异问题 
    内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多 
    这里要特别指出的是: 
    1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。 
    2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的 
    3.关于一级缓存和二级缓存 
    为了分清这两个概念,我们先了解一下RAM 
    ram和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种 
    RAM又分两种, 
    一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。 
    有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗 
    缓存通常都是静态RAM,速度是非常的快, 
    但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 
    价格高(同容量的静态RAM是动态RAM的四倍), 
    由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为, 
    但是为了提高系统的性能和速度,我们必须要扩大缓存, 
    这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存, 
    这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢, 
    我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。 
    一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。 
    通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了

    展开全文
  • 磁盘缓存和内存缓存的区别

    万次阅读 多人点赞 2015-08-23 22:49:50
    内存缓存高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM...

    内存缓存

    高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。

    原理
    Cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程领域。

    当CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器(Main memory)中读取数据——由于CPU的运行速度一般比主内存的读取速度快,主存储器周期(访问主存储器所需要的时间)为数个时钟周期。因此若要访问主内存的话,就必须等待数个CPU周期从而造成浪费。

    提供“缓存”的目的是为了让数据访问的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到缓存里。

    CPU的缓存曾经是用在超级计算机上的一种高级技术,不过现今电脑上使用的的AMD或Intel微处理器都在芯片内部集成了大小不等的数据缓存和指令缓存,通称为L1缓存(L1 Cache即Level 1 On-die Cache,第一级片上高速缓冲存储器);而比L1更大容量的L2缓存曾经被放在CPU外部(主板或者CPU接口卡上),但是现在已经成为CPU内部的标准组件;更昂贵的CPU会配备比L2缓存还要大的L3缓存(level 3 On-die Cache第三级高速缓冲存储器)。

    概念的扩充
    如今缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘与网络之间也有某种意义上的Cache──称为Internet临时文件夹或网络内容缓存等。凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache。

    地址镜像与变换
    主条目:CPU缓存#组相联
    由于主存容量远大于CPU缓存的容量,因此两者之间就必须按一定的规则对应起来。地址镜像就是指按某种规则把主存块装入缓存中。地址变换是指当按某种镜像方式把主存块装入缓存后,每次访问CPU缓存时,如何把主存的物理地址(Physical address)或虚拟地址(Virtual address)变换成CPU缓存的地址,从而访问其中的数据。

    缓存置换策略
    主条目:CPU缓存#置换策略、分页和缓存文件置换机制
    主存容量远大于CPU缓存,磁盘容量远大于主存,因此无论是哪一层次的缓存都面临一个同样的问题:当容量有限的缓存的空闲空间全部用完后,又有新的内容需要添加进缓存时,如何挑选并舍弃原有的部分内容,从而腾出空间放入这些新的内容。解决这个问题的算法有几种,如最久未使用算法(LRU)、先进先出算法(FIFO)、最近最少使用算法(LFU)、非最近使用算法(NMRU)等,这些算法在不同层次的缓存上执行时拥有不同的效率和代价,需根据具体场合选择最合适的一种。

    磁盘缓存

    磁盘缓存

    16MB缓冲区的硬盘
    磁盘缓存(Disk Buffer)或磁盘快取(Disk Cache)实际上是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为“内存池”),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏。

    磁盘缓存是为了减少CPU透过I/O读取磁盘机的次数,提升磁盘I/O的效率,用一块内存来储存存取较频繁的磁盘内容;因为内存的存取是电子动作,而磁盘的存取是I/O动作,感觉上磁盘I/O变得较为快速。

    相同的技巧可用在写入动作,我们先将欲写入的内容放入内存中,等到系统有其它空闲的时间,再将这块内存的资料写入磁盘中。

    大小
    现在的磁盘通常有32MB或64MB缓存。旧的硬盘则有8MB或16MB。

    展开全文
  • CPU缓存和内存屏障

    千次阅读 2019-01-26 21:03:32
    CPU性能优化手段——缓存 为了提高程序运行的性能,...L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。一般服务器的CPU的L1缓存的容量通常在32——4096KB。 L2 由于L1级高速缓存容量的限制...
  • Sqlserver清理缓存和内存

    千次阅读 2018-07-07 13:57:43
    --清除存储过程缓存 DBCC FREEPROCCACHE --清除会话缓存 DBCC FREESESSIONCACHE --清除系统缓存 DBCC FREESYSTEMCACHE('All') --清除所有缓存 DBCC DROPCLEANBUFFERS GO --打开高级配置 exec sp_configure...
  • 磁盘高速缓存内存高速缓存、硬件高速缓存、每cpu页框高速缓存、页高速缓存、目录项高速缓存、索引节点高速缓存、转换后援缓冲器(TLB)、哈佛结构的高速缓存、写缓冲器、高速缓存一致性、L1L2等高速缓存在驱动的...
  • 操作系统-----缓存和内存

    千次阅读 2018-05-19 18:40:49
    高速缓存(cache)由于CPU的读取速度比内存的读取速度快,如果持续在CPU和内存之间一直来回不停的交换的话,那么CPU的运转周期就会出现了很大的浪费,所以出现了高速缓存,提供缓存的目的一般是为了让数据访问的速度...
  • Glide 缓存策略 内存缓存和磁盘缓存

    千次阅读 2017-06-30 13:37:20
    言归正传,Glide支持图片的二级缓存(并不是三级缓存,因为从网络加载并不属于缓存),即内存缓存和磁盘缓存。 磁盘缓存 一般的图片缓存指的就是磁盘缓存,把网络上的图片缓存到本地,这样就不需要每次都从网络加载...
  • 缓存分为内存缓存和硬盘缓存
  • 原理 文件缓存内存缓存的原理就是把文件缓存中的数据转存到内存中,以实现数据全局共享,解决频繁加载文件装载数据的问题,采用Memcache工具实现内存缓存数据。 实现机制与步骤 1,检查文件是否存在内存缓存,...
  • 内存缓存和LruCache

    万次阅读 2016-12-21 22:01:59
    三级缓存内存缓存三级缓存 内存缓存, 优先加载, 速度最快 本地缓存, 次优先加载, 速度快 网络缓存, 不优先加载, 速度慢,浪费流量 我们需要知道: Android默认给每个app只分配16M的内存 无论手机的内存多大,既然是...
  • Java中缓存内存缓存

    万次阅读 2016-04-08 17:04:05
    Java中缓存内存缓存 1.缓存为什么要存在  应用服务器资源是有限的,数据库每秒中接受请求的次数也是有限的。如果利用有限的资源来提供尽可能大的吞吐量呢,一个办法:减少计 算量,缩短请求流程(减少网络io或者硬盘...
  • iOS 内存缓存和磁盘缓存

    千次阅读 2017-02-26 12:48:59
    在项目中我们难免会用到一些缓存方式来保存服务器传过来的数据,以减少服务器的压力。 缓存的方式分为两种分别为内存缓存和磁盘缓存内存缓存速度快容量小,磁盘缓存容量大速度慢可持久化。
  • 缓存/内存

    千次阅读 2020-04-09 14:19:10
    随机存取存储器(Random Access Memory, RAM),也称主存(或内存),与CPU直接交换数据的内部存储器,可随时读写,速度很快.主存(Main Memory)计算机内最主要的存储器,用于加载各种程序与数据以供CP...
  • 内存缓存 高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM...
  • MySQL查询缓存内存使用碎片管理

    千次阅读 2018-01-03 10:04:03
    MySQL的查询缓存是完全存储在内存中,那么在配置使用之前,我们看看MySQL是如何使用内存的。 当服务器启动的时候,需要初始化查询缓存需要的内存。这时候内存池是一个完整的空闲块,而这个空闲块的大小就是...
  • Android中缓存的必要性: 1、没有缓存的弊端: ...流量开销:对于客户端——服务器端...那么如何处理好图片资源的获取管理呢?异步下载+本地缓存 2、缓存带来的好处: 1. 服务器的压力大大减小
  • CPU、缓存内存和本地磁盘的关系

    千次阅读 多人点赞 2018-07-10 14:20:09
    CPU CPU是中央处理器的简称,它可以从内存和缓存中读取指令,放入指令寄存器,并能够发出控制指令来完成一条指令的执行。但是CPU并不能直接从硬盘中读取程序或数据。内存 内存作为与CPU直接进行沟通的部件,所有的...
  • 内存缓存

    千次阅读 2019-03-20 10:21:30
    内存缓存 什么时候用 愿意消耗一些内存空间来提升速度 预料某些数据会被查询多次以上 缓存中存放的数据不会超过内存容量(应用程序的本地缓存,不会把数据存储到文件或服务器上) 可用方式 Google Guava Cache ...
  • 缓存策略在移动端设备上是非常重要的,尤其是在图片加载这个场景下,因为图片相对而言比较大会花费用户较多的流量,因此可用缓存方式来解决,即当...但很多时候为了提高APP的用户体验,我们还需要把图片在内存缓存
  • iOS开发之缓存(一):内存缓存 iOS内存缓存和磁盘缓存的区别 iOS开发之内存缓存 磁盘缓存 沙盒
  • cache-缓存和memory-内存

    千次阅读 2017-09-08 21:08:25
    缓存是在CPU与内存之间,是一个读写速度比内存更快的存储器。 当CPU向内存读取或写入数据时,这个数据也被存储进高速缓冲存储器(缓存)。 当CPU再次需要这些数据时,就从高速缓冲存储器(缓存)读取数据,而不是...
  • 缓存内存、虚拟内存分析

    千次阅读 2015-12-14 11:13:05
    许多人认为,“缓存”是内存的一部分,许多技术文章都是这样教授的,事实上这么说是不...CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 949,837
精华内容 379,934
关键字:

缓存和内存