> I am trying to run a django + fastcgi + lighttpd setup. I would like
> to avoid a database as much as possible.
> 
> I would like to know if django supports session management with data
> stored in RAM or file instead of only a database.

Without knowing *why* you would "like to avoid a database as much 
as possible", it's tough to know exactly what would be helpful.

Session management /can/ be pushed into cookies, with all 
relevant information pushed into a cookie from which you 
determine the user's state.  This, however, doesn't persist the 
information so if they close their browser or reboot or simply 
borrow a neighbor's browser, they won't be able to pick up where 
they left off.  Additionally, content is usually persisted, so 
anything worth doing on a web page is usually worth saving in a 
DB.  On top of such problems, it's best to keep the cookie-size 
limited as it's traversing the network so frequently in both 
directions.  And further compounding such hurdles, the Django 
auth framework expects to work with a DB so you'd have to roll 
your own auth (which could use a text-file or whatever).

If your purpose is to avoid time in the DB, I'm not sure pushing 
it out to the network transaction (in cookies) is a prudent 
savings unless you really know what you're doing (and traffic is 
high enough to demand such measures).

If you're looking for simple deployment, sqlite is quite useful, 
just needing access to the DB file.  That's certainly a lot 
easier than installing and configuring MySQL which in turn is a 
lot easier than installing and configuring PostgreSQL in my 
experience.

As a subset, for the development server, one can use sqlite with 
an in-memory database of ":memory:" (IIRC) however, if you have 
multiple processes spawned via fastcgi, it may not be the *same* 
memory which would produce a irksome behaviors.  I find this best 
for automated testing, though it can obscure a few DB-specific 
issues [*]

And, my understanding is that sqlite is included in Python5, so 
if you've got Python5, you don't even have to go through the 
hoops of getting sqlite installed and talking to Python.

Just a few ideas...

-tim

[*] I haven't yet found a good/easy way to pass DB options to the 
manage.py script so I can test my .extra() calls and 
ORM-monkeying against multiple back-ends.  Any tips appreciated.





--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to