Fi1osof

Fi1osof

С нами с 05 мая 2014; Место в рейтинге пользователей: #10
Fi1osof
17 декабря 2014, 13:03
0
Не дочитал я)) По сути тоже самое ниже написал.
Fi1osof
17 декабря 2014, 13:01
1
0
Ваня, привет!
Если тебе нужен именно файловый кеш-манагер (мне такое часто надо, не смотря на то, что используется мем-кешер, просто для того, чтобы что-то в файлы записывать и не заморачиваться с наличием директорий:)), то ты можешь несколько вариантов использовать.
Самый простой — это просто через $modx->getService() или new $className() (это ты и сам знаешь), но есть более правильный путь — юзать $modx->cacheManager->getProvider(). Просто MODX умеет одновременно работать с несколькими провайдерами. При этом есть вот такой вариант:
$manager = $modx->cacheManager;
$provider = $manager->getCacheProvider('file_cacher_key', [
    "file_cacher_key_cache_handler" => "xPDOFileCache",
]); 

$param = 'some value';
$key = "param_key";
$provider->set($key, $param);
Здесь ты работаешь с объектом конкретного кеш-провайдера. Обрати внимание в передаваемых параметрах: ключ провайдера является префиксом для параметра в массиве. file_cacher_key file_cacher_key_cache_handler. Ключ можно любой указывать, но правило соблюдать надо (только обязательно указывать и не default, иначе будет возвращен текущий кеш-провайдер, так как default — это его ключ в массиве провайдеров кеш-манагера).

Но в данном случае не совсем удобно то, что если будет желание еще в каком-то месте с ним поработать, то надо будет опять юзать getCacheProvider(). Вот другой вариант:
$manager = $modx->cacheManager;
$manager->getCacheProvider('file_cacher_key', [
    "file_cacher_key_cache_handler" => "xPDOFileCache",
]); 

$param = 'some value';
$key = "param_key";
$manager->set($key, $param, null, array(
    xPDO::OPT_CACHE_KEY => "file_cacher_key",
));
Здесь мы уже указываем ключ в методе set() самого кеш-манагера (само собой и в get() можем и т.п.). То есть метод $manager->getCacheProvider() получается своего рода регистратор кеш-провайдера, который можно один раз вызвать где-нибудь в плагине на OnHandlerRequest или типа того, а потом юзать стандарные set() И get(), просто указывая ключ файлового кеш-провайдера (или какой нужен).
Fi1osof
08 декабря 2014, 17:42
0
Возможность отслеживать изменения — это главная задача, которая ставилась при разработке этого модуля, иначе при тысячах файлов это бы все равно не работало.
Fi1osof
08 декабря 2014, 16:31
0
У меня тут душа в рай опять понеслась, подробный релиз об обновленном пакете: habrahabr.ru/post/245243/
Вот теперь классно получилось :)
Fi1osof
06 декабря 2014, 21:05
0
Примеры использования серверных скриптов и здесь приводятся, но хотелось именно работы с этим в админке сайта. Плюс к этому не на всех хостингах получится использовать серверные скрипты, они могут быть просто недоступны. Этот же компонент должен работать нормально на большинстве хостингов.
Fi1osof
06 декабря 2014, 20:18
0
Планы по совершенствованию есть, но они уже на новый год пойдут, сейчас работы полно. Но улучшение даже не конкретно этого компонента, а давно уже хотелось запилить типа файлового менеджера, а то медиасурсов полно, на работы между ними нет. Круто было бы иметь возможность копировать и перемещать файлы между различными медиасурсами. И вот в итоге хотелось бы иметь возможность запросто перемещать файлы из дропбокса в другой медиасурс и наоборот.
Fi1osof
21 ноября 2014, 14:48
0
Верстка никак не связана с производительностью (а в топике речь шла за производительность). И верстка не наша, а заказчика, нас она не интересует если не стояла на нее задача.
Fi1osof
21 ноября 2014, 01:21
0
Ясно. Спасибо за ответ.
Fi1osof
21 ноября 2014, 01:11
0
У меня вот здесь тоже реализованы разные курсы валют: www.drovyanka.ru/
Есть рубли, доллары и евро. Пару раз в день забирает актуальный курсы с ЦБР и сбрасывает кеш полностью, при получении данных товара пересчитывается цена в рубли. Все цены актуальные и нагрузка на сервер почти нулевая, отдает страницу довольно быстро. Реализация часа 3-4. Но это так, к слову…
А у тебя пытается каждый раз забрать курсы со стороннего сайта-источника и из-за этого тормоза?

P.S. к теме топика: на этом сайте 814 товаров и не пришлось вообще хоть как-то задумываться о производительности, так что говорить о каких-то тормазах при 500+ товаров — это как-то сомнительно.
Fi1osof
21 ноября 2014, 01:02
0
То есть если сниппет отключить, то забегает? ОК. Сколько среднее время загрузки из кеша/ без кеша? Просто интересно.
Fi1osof
21 ноября 2014, 00:58
0
Не скажу за минишоп, но скажу за MODX: на MODX-е очень даже можно делать достаточно крупные проекты. Вот магазин на 150 000 товаров: http://bumparfum.webtm.ru/
Fi1osof
21 ноября 2014, 00:58
0
если не брать в расчет мой кривой модуль пересчета курсов, который нет времени переписать, то летает.
Вань, среднее время при просмотре каталога — 3-5 секунд. Сложно назвать «летает».
Fi1osof
06 октября 2014, 21:49
0
Не за что.
Fi1osof
06 октября 2014, 21:35
0
А, ну да, действительно :)
Просто я все еще на 2.2+ сижу. Не доходят у меня что-то руки до 2.3
Fi1osof
06 октября 2014, 21:21
0
Просто переименовать ее, поправить название в конфиге и удалить папку кеша (конечно же на стороне сервера по ssh или ftp). Не помню, но по-моему при установке MODX-не дает возможности через морду менять название папки коннекторов.
Fi1osof
06 октября 2014, 21:14
0
Все они важны. Но плюс к переносу админки надо еще и папку коннекторов тоже переименовывать, ибо запросы шлют на коннекторы, а не на админку.
Fi1osof
06 октября 2014, 17:57
0
Вообще берите за правило при установке MODX-а указывать уникальный префикс для таблиц. Это спасет ваш сайт от 99.9% всех старых и новых уязвимостей по SQL-инъекциям. Это и Женя подтверждал. Посмотрите на скрин, там четко указано modx_users. Нельзя в SQL-инъекцию передать системную настройку MODX-а префикса таблиц.
Fi1osof
02 октября 2014, 17:11
0
У них и без того дел полно, и Шона давно уже с ними нет, да и для кого? На это аудитория несколько человек, которые итак себе напишут все, если надо. В общем, занимаются более важными делами.