ФорумПрограммированиеPHP для идиотов → Кэширование в память

Кэширование в память

  • lolcat

    Сообщения: 383 Репутация: N Группа: Кто попало

    Spritz 23 декабря 2011 г. 15:38

    Разложите основные принципы.
    Что кэшировать? Готовый HTML или может быть наборы данных, нужные для генерации страниц.
    Вообще, что имеет смысл кэшировать, есть ли какие-то подводные камни, расскажите о популярных ошибках при работе с кэшированием.

    Использую APC user cache и как альтернативу memcache.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 23 декабря 2011 г. 15:42, спустя 3 минуты 47 секунд

    ты нуб!
    Сапожник без сапог
  • lolcat

    Сообщения: 383 Репутация: N Группа: Кто попало

    Spritz 23 декабря 2011 г. 15:47, спустя 4 минуты 57 секунд

    Нет ты!
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 23 декабря 2011 г. 17:49, спустя 2 часа 2 минуты 21 секунду

    то что напряжно долго генерируется, то и кэшировать
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 23 декабря 2011 г. 17:51, спустя 2 минуты 16 секунд

    кешируй все и всегда!
    Сапожник без сапог
  • lolcat

    Сообщения: 383 Репутация: N Группа: Кто попало

    Spritz 23 декабря 2011 г. 18:43, спустя 52 минуты 18 секунд

    Это я и сам понимаю. Мне нужны tips and tricks от профи.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 23 декабря 2011 г. 18:49, спустя 5 минут 14 секунд

    а бошкой подумать?)
    Сапожник без сапог
  • lolcat

    Сообщения: 383 Репутация: N Группа: Кто попало

    Spritz 23 декабря 2011 г. 18:56, спустя 7 минут 10 секунд

    Блджад, я просто не хочу придумывать велосипед. Все лучшие практики уже давно придуманы, верно?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 23 декабря 2011 г. 21:11, спустя 2 часа 14 минут 41 секунду

    lolcat, нет, не верно. У каждого проекта свои особенности и свои требования. Да и область нагрузки у каждого разная: у одного нужно много вычислений, у второго много работы с файлами, которая в результате превращается в банальную ХТМЛ-страницу.
    Ну и коли придумано, как ты считаешь, все, то зачем тогда кому-то писать лишнее для тебя, если тебе достаточно просто в гугле вбить искомое.
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 23 декабря 2011 г. 22:13, спустя 1 час 2 минуты 24 секунды

    ничего не надо кешировать. используй быстрый движок
    не всё полезно, что в swap полезло
  • lolcat

    Сообщения: 383 Репутация: N Группа: Кто попало

    Spritz 23 декабря 2011 г. 22:53, спустя 39 минут 42 секунды

    В гугле уже почитал и кроме "нужно все и всегда" и статей, где описываются моменты вроде мелких технических моментов, ничего особо не нашел.
    Мне нужны основные принципы организации кэширования, но еще больше хотелось бы реальных историй применения, описаний сделанных ошибок, каких-то удачных решений.
    Но видимо реально придется все самому делать.

    Вы может быть сами никогда не делали ничего такого просто? Складывается впечатление такое.
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 23 декабря 2011 г. 23:03, спустя 10 минут 19 секунд

    имеет смысл рассматривать конкретные случаи
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 24 декабря 2011 г. 2:11, спустя 3 часа 7 минут 36 секунд

    Меня интересует такой вопрос. Допустим мы ставим флаг, что кешь генерируется (т.е. нужно отдавать данные не из кеша), но как сделать, что бы этот флаг сам не стал причиной сбоя?
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 24 декабря 2011 г. 2:46, спустя 35 минут 33 секунды

    ну блять
    говорю же, кешировать не нужно
    от кеширования одни проблемы
    одни блять проблемы от кеширования
    кеширование усложняет программу минимум вдвое. его нужно блять тестировать, оно блять глючит, хавает память
    во-первых нужно знать вероятность попадания запроса в кэш, если у тебя 100500 страниц и рандомные запросы то смысла в кешировании нет
    во-вторых нужно знать схему работы своего приложения, чтобы понять, какие из операций можно упразднить. может оказаться что упразднить ничего нельзя
    в-третьих нужно решить куда ты будешь складывать кэш и как будешь от него чиститься, и будет ли это действительно быстрее чем генерить заново
    вносишь в схему работы изменения и смотришь на то что получилось, какой простой схема была до и какой стала после. если новая схема работы помещается на один листок а4 то можно попробовать реализовать
    потом немного чешешь за ухом и воображаешь что нужно добавить
    - мультиязычность
    - мультидоменность
    - мультисерверность
    - мультибазаданность
    - мультипользовательность
    - ещё что-нибудь
    перемножаешь всё это и понимаешь что приложение становится слишком сложным. серьёзный проект лучше написать на компилируемом языке со статической типизацией, а на несерьёзный забить хуй
    не всё полезно, что в swap полезло
  • lolcat

    Сообщения: 383 Репутация: N Группа: Кто попало

    Spritz 24 декабря 2011 г. 3:59, спустя 1 час 13 минут 15 секунд

    Общие принципы должны быть. Что там в ваших программистских шарагах проходят по этому поводу?

    У меня не более 1000 страниц и запросы укладываются в типовые схемы.
    Второе хз, непонятны критерии.
    Третье понятно - кладем в память, инвалидируем при обновлении.

    Я пока что реализовал кэширование html-заготовок для страниц, из которых они собираются, которое минимально усложняет скрипт. Думаю, в какую степь продолжать.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!