Ich habe einen schnellen Python-Server geschrieben, um neu abgetastete Bilder bereitzustellen. Beispielsweise könnte eine URL ungefähr so aussehen http://images.domain.com/resample/100x100/9f362e1994264321.jpg
. Da das Resampling von Bildern teuer ist, ist eine Caching-Ebene erforderlich. Es scheint, als wäre ein Nginx-Reverse-Proxy eine gute Option dafür, und hier und hier scheinen gute Ausgangspunkte zu sein.
Es gibt jedoch ein Problem. Es gibt Millionen von Bildern. Wenn Sie also http://images.domain.com/resample/100x100/9f362e1994264321.jpg
im Dateisystem als /home/nginx/cache/resample/100x100/9f362e1994264321.jpg
(oder etwas Ähnliches) speichern , cache/resample/100x100/
werden möglicherweise Millionen von Dateien darin enthalten sein, was die Dateisuche sehr ineffizient macht.
Ich beschäftige mich mit diesem Problem beim Speichern der Originalbilder, indem ich sie auf viele Unterverzeichnisse verteile, z 9f/36/9f362e1994264321.jpg
. Ich bin mir jedoch nicht sicher, wie ich dasselbe mit Nginx machen könnte. Ich könnte die URL ändern, um dies ebenfalls zu tun, und ich werde es tun, wenn dies die einzige Lösung ist, aber ich möchte die URL lieber so hübsch wie möglich halten.
Kann ich das mit Nginx machen? Wenn nicht mit Nginx, kann ich etwas anderes tun, wie Lack?