使用Django在后端缓存数据(可扩展应用)

2 投票
2 回答
3116 浏览
提问于 2025-04-17 23:00

假设我需要建立一个网页应用,让每个用户都能用历史股票数据来模拟他们的交易策略。这些数据会通过互联网由第三方提供,比如通过HTTP请求获取某只股票的历史数据。还有,我打算使用Django作为后端框架。

我想问的是:我希望能在服务器端提前获取并缓存这些数据,这样每个用户的请求就不需要再发HTTP请求,而是直接从共享资源中获取。我觉得把数据存储在数据库里,比如SQL,可能是一个解决办法。不过,有没有办法在Django的后端使用用户之间共享的内存呢?任何指点或建议都非常有帮助。谢谢。

2 个回答

2

这里有很多缓存策略可以选择,但一个不错的起点是,不如把数据存储在像 SQL 数据库那样的地方,而是可以考虑使用 Memcached 这种工具。你可以在这个链接了解更多关于 Memcached 的信息:https://docs.djangoproject.com/en/dev/topics/cache/#memcached。如果没有更多的信息,我也无法给出更具体的建议。

3

这听起来很适合存储在共享缓存中,比如 memcache 或 redis(当然,也可以是用 SQL 数据库支持的缓存)。

你可以看看 这个链接,它会告诉你如何把 HTTP 请求的结果存储在一个缓存键下,然后再取出来。无论你使用什么后端(memcache、redis、本地内存、SQL 数据库),缓存的工作方式都是一样的。所以你可以先用本地内存缓存或数据库缓存来测试一下,如果觉得不错,再换成像 memcache 这样的更好的解决方案。

撰写回答