Update session on user update

...and optimize the way we update the cache