我正在开发一个小型搜索引擎,我试图找出如何缓存查询结果。 这些结果是简单的JSON文本,使用ajax请求进行检索。
将结果存储在内存中不是一种选择,我可以看到剩下的两个选项:
但是,我对CDN没有多少经验,并且想知道是否将它用于大量临时小文本文件是一种很好的做法。 在ajax请求上使用重定向是一个好习惯吗? CDN是缓存小文本文件的适当解决方案吗?
答案 0 :(得分:0)
简答:不。
Long:通常,您将CDN用于大型静态文件,您希望CDN在全球范围内镜像,以便在用户请求时接近用户。如果您的数据发生了很大变化,那么将更改传播到CDN的所有节点总是需要一段时间,同时用户会得到不一致的结果(这可能对您来说也许并不重要)。
另外,为了避免更高的延迟,我不会使用HTTP重定向(您告诉客户端向其他地方发出第二个请求),而是确定是从高速缓存获取数据还是从终端获取引擎(例如,使用caching proxy或负载均衡器),然后直接将其提供给客户端。