Yeah, using a cache to store data you need to always have is a terrible idea. I used to store session data in a volatile region like this (Cache::FastMmap, if you care), until one day I realized that sessions were being deleted long before they had expired. Oops, I was using a lossy store for data that must never be lost. Now I use BerkeleyDB for that, and make sure that expired sessions are manually cleaned up every so often.