程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

用于社交网络的Django [已关闭]

发布于2019-08-29 22:55     阅读(790)     评论(0)     点赞(12)     收藏(2)


我知道这是一个相对广泛的问题,但Django是否足够健壮以构建社交网络?我主要关心的是性能/速度。例如,对于用户群较小(<10,000个用户)的站点,是否可以创建一个Django支持的站点,其速度与Facebook类似?

它有哪些潜在的弱点,以及需要关注的事情,以尽可能快地实现它?


解决方案


“它有哪些潜在的弱点,以及需要关注的事情,以尽可能快地实现它?”

您可能会担心的另一件事是,根据您创建模型的方式并将它们彼此连接,您可能会遇到单个页面生成许多很多查询的问题。

如果您使用的是涉及通用关系的模型,则尤其如此

假设您正在使用django-activity-stream创建最近事件列表(类似于Facebook的新闻Feed)。django-activity-stream基本上创建了一个通用关系列表。对于这些通用关系中的每一个,您将不得不运行查询以获取有关该对象的信息。并且,因为它是通用的(即,您不是为每种对象编写自定义查询),如果该对象具有您想要输出的自己的关系,您可能会查看类似于活动订阅源的40-100个查询只有20-30项。

对单个请求运行40-100个查询不是最佳行为。

好消息是Django实际上只是一堆用python编写的类和函数。您在python中编写的几乎任何内容都可以添加到Django中,因此您始终可以编写自己的函数或代码来优化给定的请求。

选择另一个框架不会避免可扩展性问题; 它只会在不同领域呈现出不同的困难。

此外,您可以查看缓存等内容,以加快响应速度并防止服务器负载。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/69306/b12fe75fa1316a259c76/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

12 0
收藏该文
已收藏

评论内容:(最多支持255个字符)