本篇文章站长博客介绍什么是缓存机制?什么是缓存更新机制?
缓存就是临时文件交换区,是可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率极快。现在为了加快用户查询的响应速度,缓存几乎成了大中型网站的标配。搜索引擎会把一些用户经常搜索的关键词的搜索结果放入到缓存中,这样当该关键词再次被搜索时,就可以直接从内存中调取搜索结果,而不必再从索引库中进行重新检索和排名。缓存机制的引入,不仅加快了搜索引擎对用户搜索的反应速度,也减少了搜索引擎对数据的重复计算。用户的搜索请求中,少数查询词占了查询总数的相当大比例,而大多数查询词单个出现的
次数都非常少,类似于长尾理论。因此搜索引擎把用户经常查询的“少量”关键词的搜索结果存放于缓存中,就可以应对大多数用户的搜索请求了。整个搜索引擎的缓存机制中还会涉及缓存沟汰和缓存更新机制。
因为搜索引擎的缓存也不是无限的,肯定有满载的时候,此时就需要有合理的淘汰机制把使用频率小的搜索结果剔除,补充进来使用频率大的搜索结果,来保证缓存空间中的内容可以响应及命中当下尽可能多的用户搜索请求。同时网页和索引库中的文件内容随着时间的变化也会有所变动,为了使得缓存中的结果和网页内容同步,此时就需要有合理的缓存更新机制。
解释一下缓存更新机制:搜索引擎为了节省资源,不可能对缓存中的内容进行实时更新,而是会选择在午夜等搜索请求比较少的时间段进行更新缓存,所以用户在不同时间搜索同一个关键词得到的结果可能是不同的,但是一般在较短时间内的重复搜索会得到相同的搜索结果。现在的搜索引擎会分析搜索词的属性,并根据搜索词的属性调整缓存的更新频率,比如,现在百度的“最新相关信息”“最新相关微博”等实时性搜索的缓存更新频率和普通词缓存更新频率肯定是不同的。需要说明的是,现在大型搜索引擎的缓存都不是简单地直接缓存关键词的搜索结果,而是拥有很复杂的缓存结构和数据,一般是多级结构的,同时提升搜索引擎的响应速度和缓存数据的命中搜索范围。
这里要特别注意一下“有效索引”和“缓存”这两个模块,站长和EO人员所留意到的很多问题其实都可以在这两个模块的原理中找到答案。在第3章快照、site命令等基础内容介绍部分进行详细讨论。
还没有评论呢,快来抢沙发~