- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Possible Duplicate:
What are the downsides of longer directory paths/names and URL's on a LAMP site?
LAMP 站点上较长的目录路径/名称和 URL 有哪些缺点?
我正在尝试尽可能高效地组织网站上的图像,并且热衷于使用许多嵌套目录,这样子目录中的子目录就不会超过 1,000 个,这样目录就可以轻松地在许多用户之间进行维护。
在最坏的情况下,图像的存储方式将如下所示:
./images/76/543/7654321/640/1.jpg
与像这样的简单目录相比,拥有如此多的子目录有什么严重的缺点吗:
./i/a7/c3/5e.jpg
我认为服务器必须挖掘的子目录越多,花费的时间就越长,目录结构越长,URL 就越长,因此 HREF 在 HTML 文档中占用的空间就越大。但这会产生多大的影响呢?假设我们扩展到数百万用户,这是我需要考虑的事情(短目录结构与长目录结构)还是可以使用较长的目录结构?
谢谢!
最佳答案
您可以使用根据您的需求和经验“增长”的存储。
假设您根据图像本身创建图像的文件名,例如对其内容使用 SHA1,例如b494ad9057e09277fd02e811bb8e86b322a5166b.jpg
可能是名称。
图像然后存储在文件系统的“images”目录中。
用于访问文件的 URI 始终为 images/b494ad9057e09277fd02e811bb8e86b322a5166b.jpg
。
现在,奇迹发生在 Apache 的 mod_rewrite 内部。请求的资源可以按照您想要的任何方式拆分,例如拆分为 images/b494ad9057e09277fd02/e811bb8e86b322a5166b.jpg
(请注意哈希值第 20 个字符后面的斜杠),然后从那里加载。
一旦您从文件系统专家那里得到答案,您就可以更改 URI 的分割方式并将所有文件移动到新的预期位置,因为始终可以通过遍历目录层次结构来构建“原始”文件名。
此外,一个好的散列应该在散列中创建“均匀分布的字符”,因此您的目录应该或多或少以平衡的方式填充。
关于php - 在 LAMP 站点上使用长目录路径/名称和 URL 有哪些缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6879994/
LAMP 堆栈一词是什么意思? 我在招聘启事中看到过这个引用,但我不完全理解它的含义。 我觉得在我的开发中我相当普遍地使用 LAMP,但是当我听到“stack”时,我觉得我没有像我应该的那样使用 LA
完全在 WAMP 中开发,我需要将其部署在组织中的 LAMP 设置上。我想确保部署顺利进行并花费尽可能少的时间。在将其部署到 LAMP 之前,我需要更改哪些内容?还有什么方法可以在一些模拟的 LAMP
在变得有点疏远开源,并花了几年时间在 ASP.NET 中开发 Web 应用程序之后,我将开始做相当多的PHP/MySQL开发。 我已经很轻松地安装了WampServer在我的 Windows 机器上建
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我正在尝试遵循一些与AWS相关的亚马逊教程(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html)。这将允许我在我刚
我想在 Azure 服务器中设置 LAMP,可以使用以下方法设置 LAMP LAMP 包:sudo apt-get install lamp-server^ Apache、PHP、MySQL 单独安装
搭建LAMP Web服务器 在家中翻到了以前用的老电脑,在思索一番后,决定把这台电脑改造成一台Web服务器,作为我自己搭建博客的测试机器。 一、Linux服务器 LAMP中的L指的是Linux服
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 10年前关闭。 Improve this
请向我推荐一个基于Web的简单文档存储库,用于保存我的小公司文档(.DOC,.PDFs),以便我可以从任何地方访问它们。互联网上有很多可用的工具,但是它们很繁琐,并且充满了不必要的功能和要求。 我没有
我有一个个人项目已经在线一段时间了。我一直在通过这样做来记录下载量: 当用户点击下载链接时,它会点击一个 PHP 脚本,该脚本将一些信息写入表格。 写入数据后,脚本会返回实际文件的路径。 然后用户可以
我是 Ubuntu 的新手。安装灯。有几个问题 1)假设第一个网站目录看起来像:var/www/first/和第二个网站:var/www/second。如何设置多个网站,并将它们与 IIS 上的单独端
我的应用程序在 LAMP 服务器上运行时遇到了一些困难。我将解释该场景,下面我将介绍我的配置和一些 AB 结果。 我正在运行一个使用 Laravel 4.2 开发的应用程序。这是一个问答游戏,在某个时
情况: 我制作了一个可以打开和关闭灯的 Java 应用程序。现在我需要更改灯光,这必须发生在 class ColorLamp 中。正常的“黄”灯放在 class Lamp 中。 类 Colorlamp
嗨,最近我安装了 linux 并安装了 lamp + phpmyadmin,这个脚本在 xampp 上运行良好,而我使用了 win,但现在它不会执行,我已经更改了 dbconnect.php 文件中的
我在 Google 云上的 VM 实例上安装了 LAMP,但是当我尝试使用从 Linux 终端远程访问 mysql 数据库时 $ mysql -u username -h ipaddress -p 输
我在 EasyPHP 3.5.9 上开发了我的 php 软件,一切都很完美,现在我在 ubuntu 12.04 x64 上安装了 LAMP。如果我尝试在 ubuntu 上上传我的软件,我会显示一个白页
我最近(大约1个月)开始使用LAMP和Bootstrap。 我开发的网站在重新安装 LAMP 之前一直运行良好。 这是我的进展: 0. reinstalled LAMP 1. moved my "ba
我的项目驻留在一个共享的 Linux 托管服务器上。当然,托管服务提供商已经设置了相对于其他服务器用户的必要目录和文件所有权。我现在关心的是如何在我的域中设置权限,以便我的用户可以读取他们应该拥有的文
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我是一名优秀的程序员,十分优秀!