У меня есть необходимость распространять файлы по многим каталогам. Эти каталоги будут созданы заранее. Каждый файл имеет UUID в качестве имени. Теперь я вижу несколько вариантов, но не уверен, насколько равномерным будет распределение.
- Создайте n dirs и используйте Math.Random, который будет возвращать значение в диапазоне от 0 до n. Используйте результат в качестве режиссера.
- Hash UUID% n dirs. Используйте результат в качестве режиссера.
- Получите первые 4 символа UUID и создайте каталог как / первые 2 символа / следующие 2 символа / файл. Но тогда мне придется создать все перестановки и комбинации.
Или есть ли другие идеи получше?