1. Задача: сохранять крупные объекты в сериализованном виде с привязкой к пользователю. Не в ОЗУ.
2. Усложняем задачу: автоматически удалять объекты по истечению определенного срока.
Что можете предложить и почему?
UPD: Веб-сервис. Пользователи работают с документами. Данные для документа берутся из разных API, формируется объект. Открытые пользователем документы нужно временно хранить на сервере в сериализованном виде. По запросу пользователя извлекаем, десереализуем, вносим изменения, формируем по шаблону html, возвращаем. При сохранении десериализуем, трансформируем в json/xml, шлем обратно в API.
HTTP сессия не подходит, из-за размеров объектов.
Один из наиболее очевидных вариантов - реляционная база данных и таблица вида: user_id, key, value, timestamp. Возможно, есть варианты получше.
1. В фс выделить пользователям каталоги и складывать блобы туда.
2. Засунуть в крон что-то вроде find . -mtime 5 -delete
Всё есть из коробки. Просто, как тапок. Усилий минимум. Работает.
Если есть объективные дополнительные требования по объёмам, нагрузке, распределённости, отказоустойчивости и т.д. - дополните вопрос, пожалуйста, тогда мне тоже интересно будет почитать ответы :)
Если в проекте уже есть РСУБД, то конечно логично будет использовать её, если хранимые объекты не совсем уж гигантские. Приведённый мной вариант - это абстрактный минимализм, так сказать.