这是一个理论问题。
Twitter将用户个人资料图片保存如下:
https://twimg0-a.akamaihd.net/profile_images/2044921128/finals_normal.png
无法想象他们有一个包含2044921128个目录的服务器(例如)。也许这个URL是使用mod_rewrite
创建的?
那么如何存储极大量的用户图像? 如何完成这个计划:
那么PATH必须如何?
答案 0 :(得分:1)
没有什么说Akamai(根据你的URL存储Twitter的图片)实际上将文件存储在目录结构中。它们完全可能存储在内存中(由目录结构支持),数据库(SQL / NoSQL)或Akamai发现的任何其他存储机制。
您可以路由以
开头的网址的所有请求https://yourService.com/profile_images/
到您选择的PHP脚本,然后解析其余的URL以确定正在请求的图像,并根据解析的URL从您想要的任何存储机制(可能是数据库)存储/检索。
这是一篇简短的博文,展示了使用mod_rewrite
执行此操作的一种方法http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/
答案 1 :(得分:1)
大多数操作系统都不鼓励在一个目录中拥有超过1024个目录/文件,因为上面的任何数字都会慢慢扫描并查找其中的特定资源,所以我认为认为akamai不会有2044921128是安全的profile_images中的目录!
它是profile_images中生成的特殊唯一标识符编号,或者使用url路由的众多方法之一可用于查找资源。在任何情况下,我认为它不会对应目录的数量..