笔记整理-缓存基础

1、 之所以要使用缓存,会是基于以下可能的原因:
    1)内存有限,需要保证优先级高的事务先由足够的内存处理,其他的少量内存可以用于缓存;

    2)如果是读库的内容,放在缓存里会比现查库快;

2、引用部分:
所谓缓存,最常见的就两种:
        第一种是在更高性能的设备中存放数据,比如由于机械硬盘性能太低,不满足需求,因此需要把机械磁盘中的数据放在内存中来提高性能。但内存太贵,容量太小,因此硬盘中只有热数据才值得放在内存中。这种把低性能设备中的部分数据放在高性能设备中来提高性能的做法,叫做缓存。同类的有RamDisk、各类基于内存的nosql比如redis等等。
        第二种是拿空间换时间。比如搜索引擎,由于要搜索的数据量太大,因此每次搜索请求过来,拿关键字在整个数据库或索引库中搜一遍,太耗时,用户等不起,因此显然不合适。现代的搜索引擎基本上是把关键词都提前做好搜索,把搜索结果的前N个结果保存起来,每次有请求时,直接去结果库里拿数据。这种提前做好计算结果,有请求时直接从结果库中取出数据,也叫做缓存。
作者:pig pig
链接:https://www.zhihu.com/question/27631170/answer/39120833
来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3、几个基础概念:
    1)缓存工作的原则,就是“引用的局部性”,这可以分为时间局部性和空间局部性。空间局部性是指CPU在某一时刻需要某个数据,那么很可能下一步就需要其附近的数据;时间局部性是指当某个数据被访问过一次之后,过不了多久时间就会被再一次访问。对于应用程序而言,不管是指令流还是数据流都会出现引用的局部性现象。
    2)分布式缓存系统是为了解决数据库服务器和web服务器之间的瓶颈。如果一个网站的流量很大,这个瓶颈将会非常明显,每次数据库查询耗费的时间将会非常可观。对于更新速度不是很快的网站,我们可以用静态化来避免过多的数据库查询。对于更新速度以秒计的网站,静态化也不会太理想,可以用缓存系统来构建。如果只是单台服务器用作缓存,问题不会太复杂,如果有多台服务器用作缓存,就要考虑缓存服务器的负载均衡。
    3)缓存这种能够提升指令和数据读取速度的特性,随着本地计算机系统向分布式系统的扩展,在分布式计算领域中得到了广泛的应用,称为分布式缓存。

4、分布式计算:
        分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。


猜你喜欢

转载自blog.csdn.net/qq_34407542/article/details/80677540