Файл содержит полный список айтемов и грузится по уникальному ID (совпадает с его именем). По содержимому уже делается выборка и вывод результатов (четыре поля на запись). Очень похоже на то, что хочет реализовать ТС, только у него еще проще, ибо не нужно парсить записи внутри текстового файла.
Да какая там структура. Самая простая линейная таблица - по четыре поля на запись. Соответственно, была простая выборка из таблицы по этим самым четырем полям (прямой как дверь sql селект с WHERE field1 = 'param1' OR field2 = 'param2' и т.д.) Вот и оформил это дело в виде пятисот текстовых файлов: по файлу на таблицу, каждый файл - несколько сотен тысяч строк (айтемов). Ибо нужна была высокая производительность. И все зашуршало, ибо мускуль - реальный тормоз. Только не пытайтесь меня переубедить в этом )
Я повторяюсь, что этот метод хорошо работает именно на простых структурах данных. Например, на тех, что описал ТС (один конфиг на одного юзера с уникальным именем). Можно и с куками, но это уже привязка к браузеру.
Обалдеть, ты знаешь о кэшировании в памяти! Да на меня прям озарение снизошло. Ты по жизни такой клоун или прикидываешься? Я там выше конкретный пример привел, кстати.
Выдача не для браузеров сделана, а для синдикаторов. Но это не важно в данном случае. Важно, что мускуль на том железе и с тем количеством трафика умирал просто мгновенно. С текстовыми же файлами проблем нет. Вообще никаких.
Мускуль неизбежен если нужна работа с серьезными базами, состоящими из многочисленных связанных таблиц. Если же нужно обработать одну единственную, прямой как дверь строковой список (или конфиг, уникальный для каждого юзера), то по простоте работы и оптимизации нагрузки, никакой равноценной замены обычным файлам тупо не существует.
Есть сайт на котором генерится динамическая выдача списков (по несколько сот тысяч айтемов на страницу). Посещаемость 10k уников в день (просмотров почти на порядок больше). При использовании мускуля, сайт ложился на раз. После перехода на текстовые файлы, проблема исчезла "сама собой". Все работает без перебоев уже почти 10 лет на допотопном сервере. История из реальной жизни, так сказать.
З.Ы. При открытии такого списка у меня браузер может легко завистнуть, а самому сайту, на котором шуршит скрипт все пофигу.
А если подробнее? :)))---------- Добавлено 09.07.2013 в 17:23 ----------
Да ради бога. Можно хоть в облаке кэш хранить. Извращенцев всегда хватало :)
А чего там проектировать, если все влоб делается? Зашел юзер - считался конфиг. Если там же хранится дата посещения, то сразу же перезаписался. Изменились настройки, конфиг еще раз перезаписался. Все, телемаркет!
Куда еще проще-то?
З.Ы. А файлы всегда помогут нагрузку сократить. Не зря системы кэширования сайтов тоже сохраняют страницы в виде файлов, а не в виде записей в мускуле.
IMT памяти занимает больше, зато работает (читается/пишется) быстрее. На уровне машинного кода.
Так мускуль все равно с файлами работает (он же сам должен где-то данные хранить). Так что, диск напрягается в любом случае. Только в случае с мускулем получается гораздо больше лишних телодвижений.
Угу, можно тупо раз в неделю например чистить те, у которых даты обновления "просрочены". Такие даже загружать предварительно не надо для этого.
Кроме того, с файлами удобно то, что данные можно хранить в виде обычного массива или объекта и писать его в файл через serialize(). С одной стороны - удобно (на запись и чтение по строке кода), а с другой - мускуль не напрягается вообще.