Сообщение Re: Хранение файлов пользователей на файловой системе от 26.12.2019 19:12
Изменено 27.12.2019 17:08 Ssd13
Re: Хранение файлов пользователей на файловой системе
Я бы сделал таблицу в sqlite с полями:
$TYPE, $TENANT_ID, $FILENAME, $FILENAME_HASH
и хранил бы файлы в виде
/blobs/xx/yy/$FILENAME_HASH, где xx и yy — первая и вторая пара символов в хеше (или просто /blobs/$FILENAME_HASH, если файлов не много).
Как вариант, можно существующие файлы хранить по старой схеме, а новые по-новому.
$TYPE, $TENANT_ID, $FILENAME, $FILENAME_HASH
и хранил бы файлы в виде
/blobs/xx/yy/$FILENAME_HASH, где xx и yy — первая и вторая пара символов в хеше (или просто /blobs/$FILENAME_HASH, если файлов не много).
Как вариант, можно существующие файлы хранить по старой схеме, а новые по-новому.
Re: Хранение файлов пользователей на файловой системе
Я бы сделал таблицу в sqlite с полями:
$TYPE, $TENANT_ID, $FILENAME, $FILENAME_HASH
и хранил бы файлы в виде
/blobs/xx/yy/$FILENAME_HASH, где xx и yy — первая и вторая пара символов в хеше (или просто /blobs/$FILENAME_HASH, если файлов не много).
Как вариант, можно существующие файлы хранить по старой схеме, а новые по-новому.
Upd.
Вместо $FILENAME_HASH можно использовать хеш от содержимого файла. Для многопоточки при добавлении и удалении файлов — лочить папку или делать блокировку в базе.
$TYPE, $TENANT_ID, $FILENAME, $FILENAME_HASH
и хранил бы файлы в виде
/blobs/xx/yy/$FILENAME_HASH, где xx и yy — первая и вторая пара символов в хеше (или просто /blobs/$FILENAME_HASH, если файлов не много).
Как вариант, можно существующие файлы хранить по старой схеме, а новые по-новому.
Upd.
Вместо $FILENAME_HASH можно использовать хеш от содержимого файла. Для многопоточки при добавлении и удалении файлов — лочить папку или делать блокировку в базе.