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

Кеширование как в RoR

  • tipugin

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

    Spritz 1 июля 2010 г. 6:17

    Ребят, раскажите кто знает, как работает кеширование изображений/css и тп в RoR и как это реализовать на пхп? Извиняюсь за глупую формулировку, но не знаю как подругому сказать =) Имеется ввиду, что в РоР каждому файлу (картинка/js/css) добавляется timestamp (например image.gif?1231768823), который проверяет браузер, и если картинка не устарела - грузит из кеша, если устарела - грузит заново. Как то вот так =)
  • Givi

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

    Spritz 1 июля 2010 г. 6:26, спустя 8 минут 33 секунды

    tipugin, у пыхи можно сделать то же самое. И кеширование на самом деле не у РоР, а у браузера. Он либо обновляет файлы стилей и картинок либо достает их из своего кеша (который на компьютере юзера находится).
  • Faster

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

    Spritz 1 июля 2010 г. 6:29, спустя 2 минуты 59 секунд

    меняй в шаблоне параметр time фиксированно
    image.gif?time
  • tipugin

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

    Spritz 1 июля 2010 г. 6:37, спустя 8 минут 33 секунды

    By default, Rails appends asset‘s timestamps to all asset paths. This allows you to set a cache-expiration date for the asset far into the future, but still be able to instantly invalidate it by simply updating the file (and hence updating the timestamp, which then updates the URL as the timestamp is part of that, which in turn busts the cache).

    Тоесть мне достаточно указать image.gif?time, где time - это timestamp, указывающий на дату устаревания кеша?
  • phpdude

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

    Spritz 1 июля 2010 г. 6:39, спустя 2 минуты 15 секунд

    1 оутпут хендлер + 5 регулярок и n * filemtime = ваша задача и ахуенная фича рора ЖВ
    Сапожник без сапог
  • tipugin

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

    Spritz 1 июля 2010 г. 7:48, спустя 1 час 8 минут 22 секунды

    Точняк, а не подкините регулярку для css например, а то я щас мозг сломаю с этими выражениями =(
  • adw0rd

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

    Spritz 1 июля 2010 г. 7:54, спустя 5 минут 52 секунды

    phpdude, К чему там регулярки кстати?
    adw/0
  • phpdude

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

    Spritz 1 июля 2010 г. 8:07, спустя 13 минут 48 секунд


    phpdude, К чему там регулярки кстати?
    чтобы блядь не руками таймстампы вписывать к изображениям, это же ебануться :D {+++32+++}

    Точняк, а не подкините регулярку для css например, а то я щас мозг сломаю с этими выражениями =(
    ломмать мозг - выгодно, пробуйте!
    Сапожник без сапог
  • adw0rd

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

    Spritz 1 июля 2010 г. 8:23, спустя 15 минут 15 секунд

    а, ясно
    adw/0
  • Абырвалг

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

    Spritz 1 июля 2010 г. 9:28, спустя 1 час 5 минут 52 секунды

    phpdude, на то у меня в BL и используется {% js foo 31%} : foo - файл, 31 - ревизия файла
  • phpdude

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

    Spritz 1 июля 2010 г. 9:30, спустя 1 минуту 49 секунд

    Абырвалг, менять шаблон чтобы сменить файлы? лучше уж константу юзать
    Сапожник без сапог
  • Абырвалг

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

    Spritz 1 июля 2010 г. 9:42, спустя 11 минут 25 секунд

    она тоже есть, глобальная. Используется в том случае, если для файла не указана ревизия
  • phpdude

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

    Spritz 1 июля 2010 г. 11:27, спустя 1 час 45 минут 7 секунд

    Абырвалг, ты возможно тут приживешься, ты тоже лентяй.
    Сапожник без сапог
  • tipugin

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

    Spritz 1 июля 2010 г. 11:51, спустя 24 минуты 33 секунды

    А чото я не пойму, у меня в проекте (на рор) сейчас у файлов стоят штампы, которые как неделю просрочены типо. И чо он терь он каждый раз загружает заново в кеш?
  • Givi

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

    Spritz 1 июля 2010 г. 14:04, спустя 2 часа 12 минут 19 секунд

    tipugin, да нет. Штамп нужен для того, чтоб иметь возможность изменить название картинки с точки зрения браузера, вінуждая его таким образом закачивать новое изображение с сервера, а не с кеша его доставать. То есть, в данном случае у тебя стоит штамп недельной давности, а значит браузер уже сохранил картинку в браузере, и теперь её не запрашивает каждій раз с сервера. По сути вродь так.

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