Sessions are not a must for every web app. In fact, you can replace state maintenance (Sessions) with State ‘Transfers’ (REST). RESTFul calls provide the entire client state for each call. This is actually a good thing – as far as the server is concerned. No longer does the server need to store millions and millions of session objects. This improves scalability on the server app.
REDIS – An alternative to session storage in the database
Redis is an open source key-value cache and storage system, also referred to as a data structure server due to its advanced support for several data types, such as hashes, lists, sets, and bitmaps, amongst others. It also supports clustering, making it useful in highly-available and scalable environments.
A B-tree is a tree data structure that keeps data sorted and allows searches, insertions, and deletions in logarithmic time. It is optimized for systems that read and write large blocks of data ( databases and file systems).
See this post on how twitter leveraged Redis to implement a BTRee…