I’m using the standard (as opposed to NonRel) version of Django connected to PostgreSQL on top of Apache + mod_wsgi.
This setup also connects to MongoDB (some data is saved externally). Right now I have to create a new MongoDB connection for each Django request, and pass it along throughout the call stack to all functions that require access to MongoDB. Is there a way to cache connections between requests?
Edit
At the risk of blasphemy, would a global variable work in this case?
There are several ways explaining how pymongo can work (or fail) with mod_wsgi, suggested here: http://api.mongodb.org/python/current/faq.html?highlight=wsgi#does-pymongo-work-with-mod-wsgi
In addition you can use some kind of pooling solution, like described here: http://www.mongodb.org/display/DOCS/Notes+on+Pooling+for+Mongo+Drivers
One project that I know already to have pooling is MongoEngine, its a very simple ORM that uses pymongo behind the scenes. You might want to look into it together with the pymongo faq solutions above.