Estoy en proceso de implementar el almacenamiento en caché para mi proyecto. Después de mirar las estructuras de directorio de caché, he visto muchos ejemplos como:Estructura del directorio de caché
cache
cache/a
cache/a/a/
cache/a/...
cache/a/z
cache/...
cache/z
...
Ya entendió la idea. Otro ejemplo para el almacenamiento de archivos, digamos que nuestro archivo se llama IMG_PARTY.JPG
, una forma común es ponerlo en un directorio llamado:
files/i/m/IMG_PARTY.JPG
Algunos pensamientos vienen a la mente, pero me gustaría saber las verdaderas razones de esta.
sistemas de ficheros que hacen búsquedas lineales encontrar los archivos más rápido cuando hay menos de ellos en un directorio. Tal estructura propaga archivos delgados.
Para no estropear * nix utilidades como
rm
, que tienen un número finito de argumentos y eliminar gran número de archivos a la vez tiende a ser hacky (tener que pasar él sin embargofind
etc.)
¿Cuál es el verdadero motivo? ¿Qué es una estructura de directorio de caché "buena" y por qué?
Ah, pensé que tenía algo que ver con eso. Me encantaría saber qué FS todavía usan la búsqueda lineal. Esperaré por más respuestas antes de seleccionar una como aceptada, ¡gracias! – Karolis
En Linux, ext2 y ext3 usan búsqueda lineal, a menos que la opción dir_index esté habilitada para el sistema de archivos (ha sido el predeterminado por un tiempo). En general, los viejos sistemas de archivos usan lineales, los nuevos usan árboles. –