用社会网络的不断变化处理缓存

时间:2014-06-17 18:36:39

标签: python django caching django-rest-framework

使用Python的Django(带Rest框架)创建类似于Twitter或Instagram的应用程序。

考虑到社交网络不断变化的特性,处理缓存内容(JSON数据,图像等)的最佳方法是什么?如何仍然显示用户创建新帖子,喜欢/评论帖子或删除帖子同时仍然缓存内容以获得快速性能的更新状态?

如果要在每次用户执行操作时刷新/重新创建缓存,则不值得拥有缓存,因为更新的频率太快而无法使缓存变得有用。有哪些技巧可以解决这个问题。

请随意分享您在实施解决方案时所学到的方法和智慧。任何建议将不胜感激。 :)

1 个答案:

答案 0 :(得分:0)

一种技术是在他​​们所引用的媒体内容上键入URL。例如,如果您要托管图片,请在网址/images/<sha>中使用图片文件的sha哈希。

然后,您可以在这些URL上设置远期缓存过期标头。如果图像发生变化,您还会更新引用它的URL,并请求不再缓存的图像。

只要在任何字段发生变化时重新计算对象的哈希值,就可以将此技术用于常规数据库模型以及图像和其他媒体。