2016-04-06 8 views
2

Ich mache eine Menge _all_docs Anfragen an den HTTP Server von CouchDB. Eine Sache, die ich realisiere, ist, dass die Daten nicht komprimiert sind, was zu großen Dateigrößen führt. Selbst wenn Sie limit und skip verwenden, können die Dateien manchmal jeweils 10 MB groß sein. Das verursacht keine Probleme für meine App, aber wenn eine Verbindung zu unserem CouchDB-Server langsamer ist als unsere Büroverbindung, wird das ziemlich langsam.Wie kann ich den JSON-Inhalt von CouchDB HTTP-Antworten komprimieren?

Gibt es eine Möglichkeit, HTTP-Komprimierung zu aktivieren? Ich beziehe mich nicht auf Anhänge - nur die JSON-Dateien.

Auch ich benutze Windows Server - nicht Linux/Unix.

Danke!

Antwort

3

Es gibt keine direkte Unterstützung in CouchDB, aber it has been requested. (Sprechen Sie also Ihre Unterstützung, wenn Sie dies wünschen)

Das heißt, es gibt eine Reihe von Optionen, die Sie haben. Zunächst können Sie nginx als Reverseproxy einrichten und zulassen, dass Antworten für Sie komprimiert (und möglicherweise zwischengespeichert) werden. Nach einer schnellen Suche fand ich this plugin, dass Sie in CouchDB direkt installieren.

Eine andere Sache ist, dass CouchDB einen ziemlich soliden Job macht, Clients zuverlässig zu cachen. Sie können dies nutzen, um das wiederholte Herunterladen derselben großen Ressource zu verhindern.