Ang*_*ker 9 architecture photos
我开始开发一个网络应用程序,其主要目的是显示照片.用户也可以上传照片.
提出的第一个问题是在哪里存储照片:在文件系统或数据库上.
我将使用Windows框来托管该网站.数据库是MySQL,后端代码使用ASP.NET MVC在C#中.
Joh*_*kin 28
文件系统,当然,除非你的目标是关于thedailywtf的故事.最简单的方法是让照片按照您可以从文件本身派生的属性进行组织,例如SHA-1哈希.然后将哈希存储在数据库中,附加到照片的主键和其他属性(上传者,上传日期等).
分割文件系统上的照片也是一个好主意,因此您不会在一个目录中结束数百万个文件.所以你会有这样的事情:
storage/00/e4/f56c0de1c61fdb926e79e8a0a65bd12930c9.jpg
storage/25/9a/ec1c55bfb660548a6770238668c4b117d92f.jpg
storage/5d/d5/4b01d98f17a9ad9dd1526b49ba39b5aa37a1.jpg
storage/63/49/6f740b6c284ce6685dc17d473a7360ace249.jpg
storage/b1/75/066d178188dde110149a8422ab651b0ee615.jpg
storage/b1/20/a2b7d02b7b0c43530677ab06235382a37e20.jpg
storage/da/39/a3ee5e6b4b0d3255bfef95601890afd80709.jpg
Run Code Online (Sandbox Code Playgroud)
如果您转移到分片存储,这也很容易移植.