We are currently using database to maintain state information (in a separate table) for the user. We fetch that information from the database every time user access the application (sends request) and update it in the database back after processing the request.
This has worked very well for us in many of our projects and is very easy to implement but this adds an overhead to call the database and save state information.
Are there any other ways available that would work better in this case?