-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 We are using MongoDB in our latest projects for storing data changing frequently (e.g. session-like data). We have been using Memcached in the past occasionally. In both cases you may need to write a bit of code for integration both systems with the ZODB transaction system (if needed) - writing a ZODB transaction handler is pretty easy. - -aj lists@nidelven-it.no wrote:
Hi.
We've experienced some problems with the Transcience/SESSION system, where KeyErrors can pop up for unknown reasons.
Therefore, I was thinking of writing/using a custom session system, which doesn't do anything "magical", just stores it into some kind of database.
It would have to support multiple ZEO clients, and I'm thinking it should also "respect" the transaction machinery, so that if something fails, the changes are rolled back.
I've thought of different approaches, but right now, the best approach seems to be a separate database file, in FileStorage, BSDDB or some such variant, mounted at the point /session for example.
Then have 3 methods/functions which set, get and delete entries in the storage as necessary. Every user gets a unique cookie and corresponding place in the database.
What's the recommended way to handle up to many, many small objects with frequent writes?
Am I making unecessary work for me here, or could such a system be useful?
Has something like it been made before? Is it better to test and fix the Transcience/SESSION system?
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQGUBAEBAgAGBQJNJClTAAoJEADcfz7u4AZjlLULwNBktNFiHIs1if4LFYiwpT5g qMOzSwCEOJh3XMB2fKAOWiXG7h20BsFq6yW3Bp93ywWjnX9gkcQIbOEObmhYOC7h Aq5+GNRFqhIKkcFEeQiXu6MhDJAu9QjgCtLo7udsPiWbVZDM2YsVPNjSgA9bZxFW W1XXKxpI6wjTcGwlTNYMIKAOavD8W//ut9JrZ0XNbrJMzPpf2bK3ZfWjG33/MVqL IX38i3IV97jeDIhpxVgSJaHUxNj5y36etEusWtW5Wo4MvIj/7drjp5YLgmo9Npmo hHZc+pa7+0YYA4RFXHJjbJ6ZGUxSeToWrKNU271ZL8OhfnUTIY9HX6sVZKQb3yD7 f34SwYQ3Xl6LolGiOPHrqth13Cq/MtevhHslEIbFttZOirOsh3FpKN8GaugaEagp aVekOOxuRA1MfNDU5KLFzNJiNPsJh+qUDSHgbtmjryE9R+sdPxvtaIckVe19TRt4 1SFj1vxK9CSSB6TS8ldxZH3k/mgHT8o= =cDUI -----END PGP SIGNATURE-----