Оптимизация функции кэширования

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 13842 Просмотров
*

PTTVDesign

  • Захожу иногда
  • **
  • 11
  • 1
  • interbuyer
файл \includes\Cache\Lite.php
примерно 553 строка

function _write($data)
   {
      $fp = @fopen($this->_file, "wb");
      if ($fp) {
      
        $data = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $data);// remove comments
        $data = str_replace(array("\r\n", "\r", "\n", "\t", '  '), '', $data);// remove tabs, spaces, newlines, etc.
        $data = str_replace('{ ', '{', $data);// remove unnecessary spaces.
        $data = str_replace(' }', '}', $data);
        $data = str_replace('; ', ';', $data);
        $data = str_replace(', ', ',', $data);
        $data = str_replace(' {', '{', $data);
        $data = str_replace('} ', '}', $data);
        $data = str_replace(': ', ':', $data);
        $data = str_replace(' ,', ',', $data);
        $data = str_replace(' ;', ';', $data);
        $data = str_replace(';}', '}', $data);
       
      
         if ($this->_fileLocking) @flock($fp, LOCK_EX);
         if ($this->_readControl) {
            @fwrite($fp, $this->_hash($data, $this->_readControlType), 32);
         }
         $len = strlen($data);
         @fwrite($fp, $data, $len);
         if ($this->_fileLocking) @flock($fp, LOCK_UN);
         @fclose($fp);
         return true;
      }
      $this->raiseError('Cache_Lite : Unable to write cache !', -1);
      return false;
   }

позволяет избавиться от мелкого мусора в кэш файлах
« Последнее редактирование: 09.12.2007, 17:45:01 от PTTVDesign »

*

archer1981

  • Давно я тут
  • ****
  • 264
  • 13
Re: Оптимизация функции кэширования
« Ответ #1 : 09.12.2007, 19:45:45 »
А можно поподробнее о "мелком мусоре"?
http://walkspb.ru - Энциклопедия Санкт-Петербурга

*

PTTVDesign

  • Захожу иногда
  • **
  • 11
  • 1
  • interbuyer
Re: Оптимизация функции кэширования
« Ответ #2 : 09.12.2007, 20:15:54 »
А можно поподробнее о "мелком мусоре"?
лишние пробелы, табуляции и тд
запусти и сравни просто размеры

*

PTTVDesign

  • Захожу иногда
  • **
  • 11
  • 1
  • interbuyer
Re: Оптимизация функции кэширования
« Ответ #3 : 10.12.2007, 00:27:40 »
index page HONDA24.RU
с применением чистки 11,391 Kb
без чистки 12,967 Kb

*

PTTVDesign

  • Захожу иногда
  • **
  • 11
  • 1
  • interbuyer
Re: Оптимизация функции кэширования
« Ответ #4 : 12.12.2007, 17:14:13 »
проблема данного решения - не совместимость с JavaScript, так как перенос строки убьет скрипты встроенные к примеру в закэшированных файлах

*

boston

  • Joostina
  • *****
  • 499
  • 219
Re: Оптимизация функции кэширования
« Ответ #5 : 12.12.2007, 17:22:39 »
PTTVDesign, тоже встречался с таким, где-то в строке \r\n", "\r", "\n", "\t",  надо ковырять...
Самая новая Joostina 1.3.0.5 UTF-8 stable | О найденных ошибках сообщаем | Расширения Joostina

*

Physicist

  • Support Team
  • *****
  • 963
  • 185
  • Рябов Денис
Re: Оптимизация функции кэширования
« Ответ #6 : 09.03.2008, 23:50:22 »
Нельзя вносить изменения в функцию Cache_Lite::_write : http://joomlaforum.ru/index.php/topic,29266.msg171489.html#msg171489