【问题标题】:Effcient way to store and display in a PHP web application [closed]在 PHP Web 应用程序中存储和显示的有效方法 [关闭]
【发布时间】:2012-08-31 12:46:36
【问题描述】:

我正在开发一个 PHP Web 应用程序。寻找存储用户上传图像并将其显示在 Web 应用程序上的有效方法。请让我知道你的建议。

预计图片数量为 100 万张。

【问题讨论】:

  • 有几种方法。例如,您要将其存储在数据库中还是仅存储在文件系统中?
  • 将它们存储在文件系统中,以便您可以更快地处理预览/缩略图缓存,并留下数据库条目以管理与用户的关系。

标签: php web-applications web content-management-system


【解决方案1】:

我的建议是结合使用文件系统存储和数据库存储。创建一个表格,其中将包含有关图像的元数据(上传者的用户 ID 等),并包含图像 URL 的字段。

当有人上传图片时,将文件移动到可通过网络访问的目录,然后在您创建的表中存储一条记录,该表包含有关上传文件的所有相关数据,包括图片的 URL。这样,您可以查询数据库以获取有关图像的信息,但不必将文件的内容存储在数据库中。

【讨论】:

  • 如果您需要在多个 Web 服务器之间进行负载平衡,您如何处理?
  • 您将让所有 Web 服务器连接到一个公共数据库服务器。如果您需要拥有多个数据库服务器,每个数据库供应商都有不同的方法可以做到这一点,但对于 MySQL,您可能会设置一个用于写入的主数据库和多个复制的从属数据库用于读取。图片的 URL 将指向您将上传到的文件服务器(亚马逊 AWS 对此很有用)。
  • 通用数据库服务器很明显,使用AWS之类的服务来处理图像文件的部分是我没有想到的。
  • 采用 AWS 定价或设置自己的服务器哪个更好?
  • @sudhakar 这是一个您只能自己回答的问题 - 如果您估算运行自己的服务器的成本与您希望向亚马逊支付的费用,你可以看到哪个更适合你。不过总的来说,我预计 AWS 会更便宜且更易于管理。
猜你喜欢
  • 2016-04-15
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 2017-01-06
  • 2021-03-31
  • 2016-05-28
相关资源
最近更新 更多