mysql - 构建系统以检查文件是否已存在并获取它的最佳方法
问题描述
我有一个后端快速服务器,我需要它来检查图像是否已经存储在服务器上。最终用户可以上传任何类型的图像以检查它是否在服务器上。
服务器上的图像文件夹是一个文件夹,其中包含许多其他文件夹并且它们包含图像。他们可能有很多图像,每个文件夹中可能有 1000 个,所以我不想通过手动检查它们。
我在想我最初会获取每个图像的哈希值并将其与唯一图像名称一起存储在数据库表中。
这样,当用户上传图像时,我可以散列该图像,然后调用数据库表并查看它是否存在?例如,对于可能包含 200k 个条目的表,这里的速度会不会有问题?如果是 mysql,那么查看它是否包含哈希并取回位置的最佳方法是什么?
这看起来是正确的方法吗?
谢谢
解决方案
我认为散列图像会起作用。您可以将该映射存储在关系数据库表中,并可能从图像哈希列创建索引以缩短查找时间。
我也会在这里考虑一种无 SQL 方法,因为它似乎更适合该特定用例。我认为Redis可以很好地处理 200K 行。
推荐阅读
- python - 在 Python 中打印彩色文本不起作用。我究竟做错了什么?
- angular - 开角材料 Snackbar 在服务中
- php - 即使没有提交文件,PHP 多次上传也会运行循环
- c - qsort 在输出中给出奇怪的字符
- android - Nativescript 在 VS Code 中进行调试
- lisp - 在 LISP 中列出符号和 S 表达式
- css - Angular 7:ng-invalid vs :invalid
- c# - 如何根据项目中包含的 dll 或包在 .net 中创建条件指令?
- c - 使用指向字符串文字的指针数组的指针算术需要解释
- angular - 在 ngFor 中调用函数,结果将在元素中使用