每张图片的文件名都是 hash 过的 16 位随机文件名,web 请求一张图片:
https://xxx.com/api/img/***.png
要在一个有大量的图片文件夹中找出 ***.png 会不会很慢?有什么检索的索引方式吗?
https://xxx.com/api/img/***.png
要在一个有大量的图片文件夹中找出 ***.png 会不会很慢?有什么检索的索引方式吗?
1
chenset Oct 26, 2017 目录分层一下就好了. 按时间什么的.
|
2
whileFalse Oct 26, 2017 会。
建议将 123456789abcdef.png 存储为 12345/6789a/bcdef.png 或者是 12345/6789a/123456789abcdef.png |
3
ksupertu Oct 26, 2017 via iPhone 装个 ceph 集群就行了
|
4
asdf123101 Oct 26, 2017 via Android 图片路径存数据库或者哈希表,文件名:路径,通过文件名搜索。
|
5
Izual_Yang Oct 26, 2017 via Android @whileFalse 分太多文件夹了吧,一般不都是 12/ab/这样的么
|
6
zhujunsan Oct 26, 2017 |
7
msg7086 Oct 26, 2017 在知道文件名的情况下直接访问文件不会很慢。列表的时候才会慢。
为了便于管理,一般建议哈希分子目录。 12/34/123456789xxyyzz.png 这已经把规模降到 6 万分之一了。 |
8
zmj1316 Oct 26, 2017
ext4 的目录应该是可以用 Btree 存的吧,默认不开的话看一下文档手动开启就行了,应该没必要手动分层
|
9
xvx Oct 26, 2017 via iPhone
我见过 windows 服务器放大量的文件,连文件夹都打不开。
很多博客默认按照年月来分文件夹存储是非常合理的。 |
10
hugee Oct 26, 2017 via Android
指定了图片路径不会慢,但别去目录 ls
|
11
northisland Oct 26, 2017
召唤数位 linux 文件系统大神的到来~~
|
12
dalibaxiaoliba Oct 26, 2017
楼主试一下 weed-fs
|
13
ququzone Oct 26, 2017
https://github.com/ququzone/image-server
可以试试这个项目,专门的图片服务器,基于 seaweedfs |
14
pubby Oct 26, 2017 via Android
@dalibaxiaoliba 这个不错,一直用它存图片和各种文件
|