Всего 123 801 комментарий

Василий Наумкин
15 октября 2012, 22:10
0
Да. За счет этого будет просто молниеносный кэш.

По htop разницы в потреблении памяти не заметил. Объем выделенной памяти можно настроить в apc.ini. По умолчанию — 32M.
Иван Брежнев
15 октября 2012, 22:09
0
Кстати может написать статью как правильно подружить phpstorm и modx. Многим начинающим будет интересно.
Василий Наумкин
15 октября 2012, 22:07
0
Так я не после, я во время.

Сначала глубоко поучил PHP, потом стало скучно — полез читать про другое. Но значительных прелестей не обнаружил и пока забросил.

Как встречу что-то, чего не могу (но должен) сделать на PHP — вернусь к обучению.

Пока все силы предпочитаю тратить на работу с PHP в целом, и MODX Revolution, в частности — так каждый день открытия.
Иван Брежнев
15 октября 2012, 22:07
0
Т.е. все упирается теперь в объем оперативной памяти?
И все запросы и блоки отрендеренные писать также в оперативку?
Valentin Rasulov
15 октября 2012, 22:05
0
проверить можно просто, установлен или нет. Удаляем папку cache и открываем любой ресурс в фронте, если в кэше нету ресурса — значит всё Окей.
Иван Брежнев
15 октября 2012, 22:04
0
Кстати не в тему вопрос, но хотел спросить почему ты выбрал PHP после того как начал изучать питон. Мне питон до сих пор симпатизирует. Пытаюсь Джанго потихоньку изучать.
Нравится мне синтаксис Питона.

Из PHP фреймов щас щупаю FuelPHP
Василий Наумкин
15 октября 2012, 22:02
0
Именно в этом и смысл включения другого ОБРАБОТЧИКА КЭША.
Василий Наумкин
15 октября 2012, 22:01
0
В этом и смысл — они пишут в оперативную память.

Методы writeFile написаны для xPDOFileCache, и их никто не мешает использовать. Только зачем?

Система и так умно хранит в файлах настрjйки менеджера, системы и еще по мелочи.

В общем, я заметку написал — а ты развлекайся =)
Иван Брежнев
15 октября 2012, 22:00
0
Я как раз этот класс и поматрел и понял что он описанные мной методы переопределяет
Иван Брежнев
15 октября 2012, 21:58
0
Методы set и get будут писать уже не в /core/cache а в APC
Иван Брежнев
15 октября 2012, 21:57
0
Вот, я так и подумал что нужно свой класс чтобы он и с APC и с файловым кэшем работал
Василий Наумкин
15 октября 2012, 21:56
0
Ты не понял.

Есть разные обработчики кэша. Если ты включаешь cache.xPDOAPCCache — то все методы работают с ним. Хочешь файлов — гоняй стандартный xPDOFileCache.

Хочешь и то и то — пиши свой обработчик или при кэшировании юзай функции нужного кэшера.

Короче, напрягай фантазию — возможно все.
Василий Наумкин
15 октября 2012, 21:54
0
Ты чем смотришь то?

class xPDOAPCCache extends xPDOCache

Внутри все методы cacheManager, переопределенные для работы с APC.
https://github.com/modxcms/revolution/blob/develop/core/xpdo/cache/xpdoapccache.class.php

Как это оно работать не будет, когда оно для того и придумано?!

Иван Брежнев
15 октября 2012, 21:54
0
Теперь чтобы писать в локальный файловый кэш нужно использовать writeFile
Иван Брежнев
15 октября 2012, 21:52
0
Смотрю, не будут работать(
Denys Butenko
15 октября 2012, 21:50
0
Нет, проблема оказалась в том, что php-apc с первого раза не удачно установился в /etc/php5/apache2/conf.d не появился apc.ini в котором указано extension=apc.so. Нигде не мог найти этот файл. Сделал apt-get purge php-apc, apt-get install php-apc — появился apc.ini. А обнаружил, в журнале ошибок. Вдруг, кому на будущее пригодится.

Итог: Было ~12Мб на главной странице, сейчас 5,34Мб
Василий Наумкин
15 октября 2012, 21:49
0
В этом и прикол, что все будет работать через новый кэшер.

Методы set, get и прочие — расширены. Смотри исходники по ссылке в начале.
Иван Брежнев
15 октября 2012, 21:47
0
А стандартные средства кэширование так же будут работать?
Имею ввиду вот такие

Пишем в кэш /core/cache/my_cache_dir
$modx->cacheManager->set($id, $collection, 86400, array(xPDO::OPT_CACHE_KEY => 'my_cache_dir'))

Получаем данные из кэша /core/cache/my_cache_dir
$collection = $modx->cacheManager->get($id, array(xPDO::OPT_CACHE_KEY => 'my_cache_dir'))
Василий Наумкин
15 октября 2012, 21:36
0
И каков он? У меня было 10,5, стало 7.

Может, php-apc уже был установлен?