gpt4 book ai didi

android - 在多平台项目中将用户图像存储为二进制数据与静态文件的性能影响?

转载 作者:行者123 更新时间:2023-11-28 21:33:12 24 4
gpt4 key购买 nike

我有一个项目,该项目具有使用 Django 开发的 Web 实现以及使用 Android 和 iOS 开发的移动实现。其中一项功能是允许用户上传图像。有很多关于将它们存储为二进制数组以及将它们存储为文件服务器提供的静态文件的帖子。是否存在对所有三个平台都足够高效的可行解决方案?

最佳答案

绝对是静态文件!

静态文件可以由 Web 服务器缓存,通过 CDN 等提供服务。即使没有这些,它们对于 Web 服务器直接从磁盘提供服务也比让数据库从表中加载它们更有效。

用户上传的文件在 Django 中被称为“媒体文件”,以区别于“静态文件”,后者是您网站中不变的部分(即核心设计)。然而,当涉及到为他们提供服务时,方法是相同的。

文档中有一些细节:
https://docs.djangoproject.com/en/1.9/howto/static-files/#serving-files-uploaded-by-a-user-during-development
你会在那里看到一条注释,你不应该让 Django 本身为静态或媒体文件提供服务,除非在开发期间。这意味着您需要设置网络服务器来提供文件。

此处文档中的一些细节:
https://docs.djangoproject.com/en/1.9/howto/static-files/deployment/

一种高性能且更易于设置(并且似乎与上述建议相矛盾)的替代方法是使用:
https://pypi.python.org/pypi/django-rednoise/

...RedNose 旨在与 CDN 结合使用(例如 Amazon Cloudfront,如果您在 AWS 上托管)——在这种情况下,Django 可以处理静态+媒体文件,因为它们将是最终由 CDN 提供服务。

就特定于移动性能的问题而言,您应该研究:
https://www.ampproject.org/

关于android - 在多平台项目中将用户图像存储为二进制数据与静态文件的性能影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35012008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com