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

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

  • tipugin

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

    Spritz Июль 1, 2010, 2:17 п.п.

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

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

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

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

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

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

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

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

    Spritz Июль 1, 2010, 2: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

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

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

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

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

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

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

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

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

    phpdude, К чему там регулярки кстати?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

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

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


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

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

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

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

    а, ясно
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Абырвалг

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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