Due to limitations outside my control I will have to store custom objects for each logged in user of my Sitecore site. Currently this is getting stored in session state. There is alot of pressure on the session state store at high load due the exclusive locks
in the session store as described in this article by Sitecore. Per this article storing custom objects in session should be avoided and should be stored in a custom cache
instead.
Has anyone implemented such a custom cache and if so how was this done? I'm looking for the same behavior for this custom cache as session state, e.g. unique to the current user's browser session, terminate when the session is ended, available to all requests in the session only etc.
FYI, my issues are related to the exclusive locks
in the session store. The newer Microsoft.AspNet.SessionState.SessionStateModuleAsync
allows multiple requests per session through aspnet:AllowConcurrentRequestsPerSession
setting. AFAIK this session state module is not supported by Sitecore. If anyone has fixed this issue this way then I would be very interested in the appoach as well.