【发布时间】:2013-06-22 17:40:52
【问题描述】:
我有一个 Django 项目,用户可以在其中执行搜索,然后调用数百个 REST API 来生成结果。这可能需要 3-10 秒。我想实现一个缓存来存储结果,以提高性能并管理 API 的配额。一些关键要求:
- 结果是长期有效的,可能只需要每 6 个月或更长时间失效一次
- 结果为 json 格式
- 这些缓存结果中的数据可用于添加新的应用功能并在以后扩展 Django 模型
鉴于这组要求(尤其是最后一个),您认为最佳选择是什么?当第一次进行搜索时,我还在考虑实现 Celery 以分配 API 调用。
【问题讨论】:
-
请分享你到目前为止所做的事情。
-
不确定您还希望我分享什么,但目前没有缓存 - 每次搜索都会进行数百次 API 调用。
-
你考虑过哪些缓存后端?
-
这个问题太笼统了。你在这里有很多选择。我也看不出 Celery 如何帮助缓存!一些有用的东西:jeffknupp.com/blog/2012/02/24/… 然后查看 Memcached。如果你有问题,请重新发布。
-
@TimmyO'Mahony 我认为磁盘上的某些东西最适合这些要求。到目前为止,我已经研究过 Django 的内置数据库或文件系统缓存,或者可能是 MongoDB。