我的特殊情况
物业管理网站,用户可以上传照片和租赁文件。对于每一个公寓单位,可能有4张照片,所以系统中不会有太多的照片。
对于照片,将有每个缩略图。
我的问题
我的首要任务是性能。对于最终用户,我希望加载页面并尽可能快地显示图像。
我应该将图像存储在数据库或文件系统中,还是无关紧要?我需要缓存任何东西吗?
提前感谢!
发布于 2009-07-09 17:43:25
虽然每件事都有例外,但一般情况下,在文件系统中存储图像是最好的选择。您可以轻松地为图像提供缓存服务,您不需要担心处理图像处理的额外代码,如果需要,您可以通过标准图像编辑方法轻松地对图像进行维护。
听起来您的业务模型很适合这个场景。
发布于 2009-07-09 17:42:19
文件系统。没有比赛。当您将数据存储在数据库中时,数据必须经过更多的层。
编辑缓存:如果您希望在用户上传文件时缓存文件,以确保操作尽快完成,那么将其直接转储到磁盘(即文件系统)的速度是尽可能快的。只要文件不太大,并发用户也不多,就可以将文件“缓存”在内存中,返回给用户,然后保存到磁盘。老实说,我不会费心的。
如果您正在使文件在上传后在网络上可用,并且希望缓存以提高性能,那么文件系统仍然是最好的选择。您将获得免费缓存(可能需要调整一两个设置)从您的web服务器。如果文件在数据库中,您将不会得到这个结果。
毕竟,听起来您不应该将文件存储在数据库中。不是这样的,你只需要一个很好的理由去做。
发布于 2009-07-09 17:48:56
一定要将您的图像存储在文件系统上。在考虑这些类型的事情时,人们考虑得不够的一个问题是膨胀;将图像作为二进制数据填入数据库是一种非常快速的方法,可以使您的数据库膨胀起来。随着大型数据库的出现,对硬件的要求更高,复制和备份要求更困难,等等。将映像粘在文件系统上意味着您可以轻松和简单地用许多现有工具备份/复制它们。在文件系统上增加存储空间也比在数据库中容易得多。
https://stackoverflow.com/questions/1105429
复制相似问题