【问题标题】:Using memcached with a dynamic django backend将 memcached 与动态 django 后端一起使用
【发布时间】:2013-06-11 02:44:12
【问题描述】:

我的 Django 后端总是动态的。它提供一个类似于 Instagram 和 Vine 的 iOS 应用程序,用户可以在其中上传照片/视频,他们的关注者可以评论和喜欢内容。就这个问题而言,假设我的后端服务的 iOS 应用程序与 Instagram 完全一样。

许多消息来源声称使用 memcached 可以提高性能,因为它减少了对数据库的点击量。

我的问题是,对于本质上已经处于动态状态的后端(由于用户正在上传新图片、评论、喜欢、关注新用户等而一直在变化),我可以缓存什么?

这是一个我已经考虑了很长时间的问题。我可以缓存用户配置文件数据,但除此之外,我不知道 memcached 还有什么用处。

提到的其他来源在进行“GET”调用的后端的任何地方都使用它,但是由于应用程序始终是动态的,因此我需要设置一个合适的时间限制来使缓存过期。对于解决这个问题,您有什么解决方案和建议?

【问题讨论】:

    标签: django memcached


    【解决方案1】:

    您将缓存从您的数据库中最常访问的任何内容。列出从数据库中获取数据并以该优先级缓存数据的最频繁请求。

    1. 根据图片类别缓存最频繁的请求
    2. 基于用户的缓存 - 高级用户进入缓存(执行大量数据访问的用户)
    3. 缓存最近插入的内容(以防您的页面显示最近添加的帖子/图片)

    我相信你可以想出更多的场景。我很肯定 memcached(或任何其他缓存)会有所帮助,即使您的应用非常“动态”。

    【讨论】:

    • 感谢 Sid 的快速回复,我之前从未真正尝试过 memcached,所以这将是我第一次尝试它,希望它在我的堆栈中对我很有效
    • 当然。请记住 1-MB 的限制。如果您的请求超过该值,您始终可以将您的请求分块并与清单一起存储。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 2015-06-05
    • 2011-06-05
    • 1970-01-01
    • 2016-12-09
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多