Как лучше сделать хранение и получение данных?
Опишу суть системы:
пользователь заходит на сайт (регистрация отсутствует) и проводит на нем время, оставляя ВРЕМЕННЫЕ записи на 10 минут, которые могут посмотреть и редактировать (точнее дополнять содержимое поста) другие пользователи.
-
Проблема один: где сохранять посты и дополнения к ним?
Мне кажется, что использовать базу здесь не нужно по причине скорости (активная запись/изъятия/удаления записей через малое время), а ограничится использованием кеша (memcached). -
Проблема два выплывает из предыдущей: как идентифицировать записи пользователя? (временные посты сгрупированые по пользователям отображаются на главной страничке (конечно, не совсем на главной, т.к. много постов - большая страница)).
Не будем углубляются в различные методы идентификации, а возьмем простой ip. IP также сохранять в кеш? Я плохо знаком с memcached, а буду изучать его по мере написания, поэтому спрошу наперед:
как создать массив в memcached, где каждая запись хранит в нем разное число времени?
Схематически опишу структуру такого массива на "С++":
struct el {
ip, //идентификатор пользователя, заодно и связка с постами.
time // время хранения
}
list<el> users; //сохраняет всех пользователей, которые на сайте
list.push_back( aпи и время ); //когда появляется новый пользователь, то добавим в базу в кеше.
После истечения time, запись с users автоматически удалится.
На главной станичке будут отображаться рандомные записи, связанные с идентификаторами, которые рандомно получаются из этого массива. Как получить их рандомно из массива в кеше?
Спасибо за ответы.