我想知道什么是缓存管理的最终解决方案。 比方说,我有一台服务器和无限数量的客户端连接到它。 客户端一直向服务器发送搜索请求(让我们调用客户端的搜索请求-'x'),服务器用一些'''来回答客户端。 现在,为了加快我的搜索引擎,我想将最常见的请求(x)保存在高速缓存存储器中以及它们的答案(y)中。 (请注意,客户端发送到服务器的每个x都很重要,它们必须得到相同的y)。 我还得到一个数据库,其中包含所有以前的请求(x,y,z请求次数x)。缓存管理搜索引擎
我遇到过一些问题,同时更新缓存:
我怎么能告诉我在最不受欢迎的请求停留在缓存中,其指数,以取代它,如果我找到一个更流行的查询在我的数据库里面(当然没有扫描整个缓存)。
我应该如何更新缓存? (只是扫描整个数据库?这是非常昂贵的操作)
3.我的缓存包含多少请求元素?
4.你认为HashMap是一个高效的数据结构来维护一个缓存吗?(我正在使用java)。
5.i正在考虑根据最后的T(某些数字)查询更新我的缓存,并且在经历数据库上的所有请求时不更新它。 ,因为可能有过去非常流行的请求,并且它们不再受欢迎,并且如果有新的流行请求,它可能需要很长时间才能进入基于节目数量的缓存(它也必须更快我不必扫描整个数据库)。这是一种管理缓存的合法方式吗?
此问题对于StackOverflow太宽泛。另外,这个问题不是要求你已经编写的代码的帮助;它更概念化。 – CConard96