我有一个Django项目,用户可以在其中执行搜索,然后进行数百次REST API调用以生成结果。这可能需要3-10秒。我想实现一个缓存来存储结果,以提高性能并管理API的配额。一些关键要求:
鉴于这套要求(尤其是最后一项要求),您认为最佳选择是什么?当我第一次进行搜索时,我还在考虑实施Celery来完成API调用。
答案 0 :(得分:0)
正如您提到的那样,结果很长,所以为什么不在第一次将结果保存到包含JSON的文本文件时将结果保存到磁盘?
我遇到了类似的问题,一些API调用提取了大量数据。这就是我解决问题的方法:
search=noodles => 838f8d9a[..]a370bbfa6df46b171c02f0c
)838f8d9a[..]a370bbfa6df46b171c02f0c.txt
)
虽然有一点缺点:我通过Django提供内容,因为我正在检查一些用户权限。但是你也可以返回一个静态内容网址!
这是一个简单的解决方案,也很容易实现。至于您的上一个要求,您可以跟踪每个哈希上的命中数,以查看最常见的请求,并从那里继续。
希望这有助于编码!