【发布时间】:2010-09-14 08:59:25
【问题描述】:
人们通常使用哪些技术通过 CMS 上传、存储和呈现图像?
您将它们存储在数据库中还是文件系统中?
您会在上传时生成缩略图吗?或者在飞行中,然后也许缓存它们以供重用?还是依赖浏览器缩放?
【问题讨论】:
人们通常使用哪些技术通过 CMS 上传、存储和呈现图像?
您将它们存储在数据库中还是文件系统中?
您会在上传时生成缩略图吗?或者在飞行中,然后也许缓存它们以供重用?还是依赖浏览器缩放?
【问题讨论】:
通常,大多数内容管理系统会将图像上传的实际数据存储到文件系统中,然后在数据库中添加指向文件的链接。缩略图既可以在上传时生成,也可以在第一次请求时生成(即时被认为是低效的,特别是考虑到存储成本低廉)。浏览器缩放是一个坏主意(图像可能会以数兆字节的未压缩文件的形式上传),但某些系统会这样做。
【讨论】:
我同意凯文。我想不出任何不存储在文件系统中的cms。那么,该技术带来的唯一问题是您是否计划集群多个 Web 服务器来运行您的 cms。如果是这种情况,那么您必须对其进行计划并能够将所有 Web 服务器指向相同的文件存储位置。
我多年来使用的技术是在上传时,将图像调整为适合网络使用的大小,然后生成缩略图,然后将它们写入文件系统并将指针记录在数据库中。
如果站点是一个巨大的站点,那么您需要从缓存服务器中提供图像,因为与网络 IO 相比,文件系统非常慢。以 facebook 为例,他们的网站上有数十亿张图片,最后我听说 80% 的图片保存在 ram 中的全球缓存服务器中。他们拥有的文件存储阵列或多或少是缓存服务器的备份。
【讨论】: