The next system we will look at is the tempstore (temporary store).
The tempstore is a Key/Value, session-like storage system for keeping temporary data across multiple requests. Think of a multistep form or a wizard with multiple pages which are great examples of tempstore use cases. You can even consider "work in progress", that is, not yet permanently saved somewhere but kept in the tempstore so that a certain user can keep working on it until it's finished. Another key feature of the tempstore is that entries can have an expiration date at which point they get automatically cleared so that the user rushes the work.
There are two kinds of tempstore APIs--a private and shared one. The difference between the two is that with the first one, entries strictly belong to a single user, whereas with the second one, they can be shared between users. For example...