ФорумПрограммированиеPHP для идиотов → Вопрос по блочному кешированию

Вопрос по блочному кешированию

  • soul

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

    Spritz 23 января 2010 г. 0:13

    Это моя первая тема :-[
    Вот вчера впервые добрался до кеширования.
    Есть вопрос такой, вот считайте что сервис блогов у меня.

    Итак, у пользователя 3 страницы, главная, с полными последними постами и одним постом.
    На них приходится 3 блока, которые могу закешировать, т.е. 3 файла.

    На одной странице блок превью постов, на другой блок полных последних постов.
    Хочу закешировать, но посты имеют 6 видов приватности, то есть нужно 6 файлов кешей на блок с постами на каждую из страниц двух.

    На третей странице вообще по одному посту отображается, не создавать же на сотню постов сотню файлов кешей.

    Итого 3 +12 + ? файлов кешей.

    Получается, что минимум 15 кеш файлов только на одного пользователя, а если их тысячи?

    Подскажите пожалуйста, что и как целесообразно кешировать в моем случае, а что нет.
  • phpdude

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

    Spritz 23 января 2010 г. 0:23, спустя 10 минут 30 секунд

    то есть сейчас кешируется ВСЕ и для ВСЕХ пользователей? о май гад =)
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 0:27, спустя 4 минуты 8 секунд

    phpdude, пока что именно на моем движке кеширования вообще нет. думаю как по-умному сделать, так что делать с такой кучей файлов?
  • phpdude

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

    Spritz 23 января 2010 г. 0:29, спустя 1 минуту 51 секунду


    phpdude, пока что именно на моем движке кеширования вообще нет. думаю как по-умному сделать, так что делать с такой кучей файлов?
    lazy initialization фраза о чем нить гвоорит? если нет то в википедию :)

    а по русски в данной ситуации - кеш по требованию
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 0:33, спустя 3 минуты 53 секунды

    иду смотреть. а то я профилирование сделал, убрал все ресурсоемкие по моему мнению блоки, которые кешировать собирался, а скорость генерации не уменьшилась =)
  • phpdude

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

    Spritz 23 января 2010 г. 0:41, спустя 7 минут 54 секунды


    иду смотреть. а то я профилирование сделал, убрал все ресурсоемкие по моему мнению блоки, которые кешировать собирался, а скорость генерации не уменьшилась =)
    опкоде кешер стоит? (eaccelerator, xcache, zend optimizer) ?
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 0:46, спустя 5 минут 11 секунд

    нет, вроде искаропки в денвере ничего этого нет.
  • phpdude

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

    Spritz 23 января 2010 г. 0:55, спустя 8 минут 33 секунды


    нет, вроде искаропки в денвере ничего этого нет.
    а на не денвере посмотреть? :)
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 1:00, спустя 5 минут 23 секунды

    я только на денвере тестировал пока. тут, конечно, условия близки к идеальным.
    хостинг никто не посоветует быстрый? желательно диска не менее гигабайта, желательно 3 но с возможностью расширять. цена до 200 рублей. а то мой джино.ру пиздец какой медленный через раз.
  • phpdude

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

    Spritz 23 января 2010 г. 1:06, спустя 5 минут 42 секунды

    тоже хочу порше за 100 рублей))
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 1:10, спустя 4 минуты 39 секунд

    Искал, искал, откопал только это -
    Отложенная инициализация (lazy initialization) — классическая стратегия регулировки, суть которой заключается в том, чтобы не выбирать данные до тех пор, пока они не понадобятся. Это особенно полезно, когда выборка данных накладна и выполняется только изредка.
    Сухо и вообще ни о чем не говорит, даже примеров нормальных нет. Я итак стараюсь как можно реже к бд обращаться, только вопрос с файлами не решен. Такое описание ничего не говорит..
    Спустя 155 сек.

    тоже хочу порше за 100 рублей))

    ну это нормальная цена. мне нужен быстрый хостинг, а не держущий 10000 уников в день. у меня посетителей почти нет, движок шустрый, а через раз еле генерит страницу, это не нормально даже для 300 рублей
  • phpdude

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

    Spritz 23 января 2010 г. 1:28, спустя 17 минут 11 секунд

    Сухо и вообще ни о чем не говорит, даже примеров нормальных нет. Я итак стараюсь как можно реже к бд обращаться, только вопрос с файлами не решен. Такое описание ничего не говорит..
    кеширование по требованию - по первому запросу, нахуй тебе все то кешировать? кешируй тольк опосле первого захода на страницу пользователем
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 1:32, спустя 4 минуты 44 секунды


    Сухо и вообще ни о чем не говорит, даже примеров нормальных нет. Я итак стараюсь как можно реже к бд обращаться, только вопрос с файлами не решен. Такое описание ничего не говорит..
    кеширование по требованию - по первому запросу, нахуй тебе все то кешировать? кешируй тольк опосле первого захода на страницу пользователем

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

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

    Spritz 23 января 2010 г. 1:36, спустя 3 минуты 25 секунд

    soulgarden, так на пост на который зашел человек, или на все посты человека? на все ситуаци исразу кешировать? для друзей, хуей, невидимые посты , посты нло и тп?

    я бы 1 вид кеша на 1 пост нужный и все. удалял бы или автоматически(memcached) или перекешировал файл кеша по таймауту при след заходе пользователя, а старые всей пачкой удалял раз в сутки, например ночью, или раз в неделю)
    Сапожник без сапог
  • soul

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

    Spritz 23 января 2010 г. 1:42, спустя 6 минут 40 секунд


    soulgarden, так на пост на который зашел человек, или на все посты человека? на все ситуаци исразу кешировать? для друзей, хуей, невидимые посты , посты нло и тп?

    я бы 1 вид кеша на 1 пост нужный и все. удалял бы или автоматически(memcached) или перекешировал файл кеша по таймауту при след заходе пользователя, а старые всей пачкой удалял раз в сутки, например ночью, или раз в неделю)


    в итоге всё сводится к удалению старых кешей. потому что к 3000 постов и полторы тысячи пользователей (сейчас у меня) кеша бы было просто дохуя. можно вообще весь кеш сайта удалять, чтоб не трахаться с проверкой на старость. но удалять кроном это костылевато, я думаю нормальный разработчики делают как-то по-нормальному :)

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