How can i use user specific cache in Dotnetnuke instead of session?
Using session in dotnetnuke causes many instabilities in a custom dnn module, for example when session timeout reaches, cache timeout is not reached yet so it causes that session variables clear before dnn user logout.
The answer here is going to really depend on exactly what you are trying to store. If it is truly "user specific" you could use the Personalization functionality within DNN - http://www.dnnsoftware.com/community-blog/cid/134603/module-settings-and-personalization-easily-store-data-for-your-dotnetnuke-module
The general solution here though is not a DNN specific solution, but one that would be an issue regardless of the framework, so any solution you find will work.
DNN does not have a user specific cache, and I strongly recommend against trying to circumvent this by using DNN's cache for user specific items, this can have a dramatic impact on system stability and performance.