在计算机的存储体系中,Cache的作用是_________ 。

在计算机的存储体系中,Cache的作用是_________ 。,第1张

在计算机的存储体系中,Cache的作用是A、提高存储体系的速度。

CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据。

如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。

扩展资料:

当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有随机算法、先进先出算法(FIFO)和近期最少使用算法(LRU)。

因为需要保证缓存在Cache中的数据与内存中的内容一致,Cache的写 *** 作比较复杂,常用的有写直达法、写回法和标记法。

很多大厂面试都会问:hash和一致性hash的区别,为什么要用一致性hash。本文就是答案啦。

    假如有cache主机5台分别为cacheA、cacheB、cacheC、cacheD、cacheE

    当程序进行hash时,首先每个节点要根据自己的唯一参数哈希出一个值来(如根据ip进行哈希)

    主机哈希完成后形成的哈希值如下

    cacheA       0

    cacheB       1

    cacheC       2

    cacheD       3

    cacheE       4

    主机形成哈希值后,我们以缓存来做实例,比如某个用户登录后会有一个唯一的pin值,然后根据这个pin值进行hash求余。因为求余是用5来求余,所以数值肯定会小宇5 因此就有了落点,然后把缓存数据进行缓存到落点服务器中。

    假如有cache主机5台分别为cacheA、cacheB、cacheC、cacheD、cacheE

    当程序进行hash时,首先每个节点要根据自己的唯一参数哈希出一个值来(如根据ip进行哈希)

    主机哈希完成后形成的哈希值如下

    cacheA       key1

    cacheB       key2

    cacheC       key3

    cacheD       key4

    cacheE       key5

然后5台节点围绕称一个环形,如图

主机形成哈希值后,我们以缓存来做实例,比如某个用户登录后会有一个唯一的pin值,然后根据

 这个pin值进行hash。这里注意和普通hash不一样的就是这里只hash不求余,当hash出一个数值

后,查看这个这个值介于那两个值之间比如介于key4和key5之间,然后从这个落点开始顺时针查

找遇到第一个cache服务器后就把这个服务器当作此次缓存的落点,从而把这个缓存放到这个落点

上。如图:

        经过上面的介绍我们能看出,假如普通的哈希当其中任意一台机器down掉后,我们整个的缓存都将安然无存,为什么这么说呢?

        因为当某台cache down掉后我们需要重选算落点,除数已经变了,所以都要重新set缓存,当然不排除有一些两个pin值算的落点是一样的,但是当cache服务器增加到一定数量后,前面所说的可能性几乎为0,所以称之为全部缓存都要重新set。

      而使用一致性哈希当其中一台机器down掉后,只有它上面到它这一段的环路缓存失效了,如:当cache3 down掉后,那落掉在cache2到cache3之间的pin都将失效,那么失效的落点讲继续顺时针查找cache服务器,那么新的落点都将落到cache4上。

经过查阅db2官方帮助文档,发现有一个参数DB2_BACKUP_USE_DIO,设置成on之后,可以达到此效果,经过测试,db2备份时,系统cache不再增长,在db2 95版本设置此参数需要重启数据库实例,db2 95以后版本设置之后,再下一次备份时生效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10655824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存