|
1
7
如果给定行中的所有图像都位于同一位置,我会说它们的基本路径应该是它自己的列(而不是一直从原始图像的完整路径重新导出基本路径)。 数据库 住在同一个地方,根本不要将基路径存储在此表中;将其写入代码或全局配置表中。 |
|
|
2
2
并将所有图像存储在一个地方。
这样你就可以很容易地看到谁拥有什么图像,用户也可以用相同的文件名上传不同的图像,而不必担心。 |
|
|
3
1
概括地说,我想说,如果你能重新创建信息(因为基础总是相同的,后面跟着用户名),就不要将其存储在数据库中。如果你以后出于任何原因想更改存储图像的目录,你就会遇到麻烦。 |
|
|
4
1
当然,对原始映像的各种大小有一个可靠的命名约定,这将有助于您生成已知的缓存键,以便您可以将映像存储在某些缓存中,如memcache,这减轻了数据库和服务器磁盘i/o的负载 |
|
|
5
1
如果除了文件名之外,特定路径是一致的,为什么不使用常量作为路径,然后将不同大小的图像存储在适当的目录中,并仅引用数据库中的文件名。 这里的主要原则是避免数据库和代码中的重复信息。对于数据库,你实现了更高的范式,对于代码,你实现的是DRY(不要重复自己)。
/主页/用户/网站/图片/原创/ /主页/用户/网站/图片/小/ /主页/用户/网站/图片/媒体/ /主页/用户/网站/图片/大/ 你可以用常量来表示这些信息。例如 PATH_ORIGINAL=/home/用户/站点/图像/原始/ PATH_MALL=/home/用户/站点/图像/小/ PATH_MEDIUM=/home/user/site/images/media/ PATH_LARGE=/home/user/site/images/LARGE/ 然后,在你的代码中,你可以做这样的事情 小车=PATH_TO_SMALL。car.jpg; 或者,在加载图像的任何查询输出中插入适当的常量变量。 额外的好处是,如果你需要调整目录结构或在服务器之间移动代码,而不是更新整个数据库记录,你有一个地方可以更改路径,这可能会更有问题,更容易出错。 |
|
6
0
|