设计一个键-值缓存来存储最近 web 服务查询的结果

一、需求沟通

1、用例

1、用户发送一个搜索请求,命中缓存

2、用户发送一个搜索请求,未命中缓存

3、服务有着高可用性

2、算数

设计一个键-值缓存来存储最近 web 服务查询的结果

设计一个键-值缓存来存储最近 web 服务查询的结果

 

二、答案

1、概要设计

设计一个键-值缓存来存储最近 web 服务查询的结果

2、扩展设计

设计一个键-值缓存来存储最近 web 服务查询的结果

3、关键点总结

1、Query API

来了关键词,通过Query API去缓存中查,缓存中存title和摘要(类似于百度快照),如果命中内存缓存,返回结果。

2、倒排索引服务器和文档服务器

如果未命中内存缓存,把关键词扔给倒排索引服务器,使用倒排索引服务来查找匹配查询的文档,对匹配到的结果进行排名,然后返回最符合的结果。 使用文档服务返回文章标题与片段,更新内存缓存,存入内容。