Новости разработки. Новая система кеширования

Тема в разделе "Новости ресурса", создана пользователем Exile, 12 май 2016.

  1. Exile

    Exile Администратор

    Сообщения:
    2.997
    Симпатии:
    1.497
    Версия TP:
    2.1.6
    Доброго времени суток.

    Новостей о новой версии не было достаточно давно, но ее разработка активно идет. Сегодня хотелось бы поделиться и дать первый взгляд на одно из многих изменений, которые будут в новой версии, а именно показать конкретные примеры кода и дать некоторые объяснения по нашей новой системе кеширования.

    Новая система кеширования основана (как и большинство остальных вещей в новой версии движка) не на самодельном велосипеде, а на одной из популярных библиотек - Doctrine Cache. Используя ее, у нас есть возможность реализовать поддержку большего количества систем кеширования, чем это у нас было реализовано ранее (файловый кеш, APC, CacheCache, Couchbase, Memcache, Memcached, Redis, Riak, SQLite3, Void, XCache, ZendData и т.п.). Большое преимущество для разработчиков и тех пользователей, которые пишут моды - универсальность. Какой бы тип кеширования не был указан в конфигурации - использование кеша и его поведение будет всегда одинаковым.

    Ну а теперь непосредственно к примерам. Для начала, мы подключаем компонент DI (Dependency Injection, который нужен нам для возможности подгрузки переписанных модулей движка) и само кеширование:
    PHP:
    /** @var \TorrentPier\Di $di */
    $di = \TorrentPier\Di::getInstance();

    /** @var \TorrentPier\Cache\Adapter $cache */
    $cache $di->cache;
    После этого, мы можем использовать сам кеш:
    PHP:
    if (!$cache->has('secret')) {
      
    $data 'some data';
      
    $cache->set('secret'$data60);
    }

    $cached_data $cache->get('secret');
    В данном примере мы проверяем наличие кеша secret, в случае если его нет - мы устанавливаем его со временем жизни в 60 секунд, ну а после этого присваиваем переменной значение кеша (попутно получая его). Синтаксис крайне простой и незамысловатый, а в случае использования IDE для написания кода, например PHPstorm от JetBrains, у вас будут еще и подсказки по возможным методам:

    Снимок экрана 2016-05-12 в 1.16.58.png

    Разумеется это не все возможности новой системы кеширования. Она еще будет дополняться, например, появится возможность установки значения кеша с использованием callback-функции и т.п., а значит в приведенном синтаксисе возможен ряд изменений. Но некоторое представление об уровне изменений в движке вы можете получить. А кому интересно больше - вот коммит на замену старой системы кеширования на новую, с объемом изменений вы можете ознакомиться самостоятельно: Migration to the new cache subsystem by Exile37 · Pull Request #97 · torrentpier/torrentpier · GitHub

    Животрепещущий вопрос большинства - когда же выйдет новая версия? Тогда, когда будет завершен процесс переноса движка на "новые рельсы". Очень надеемся, что это произойдет в ближайшее время. А пока что интересующиеся могут следить за ходом разработки в нашем репозитории на GitHub.

    Спасибо за внимание.
     
    vanechek, eXtatik, zxc и 6 другим нравится это.
  2. Kryl

    Kryl Пользователь

    Сообщения:
    801
    Симпатии:
    218
    Версия TP:
    2.2.0
    Стоит ли сейчас уже кеш новый ставить на движок ?
    Изменений сильно много , даже по одному кешу .
    Дальше еще больше будет . Так вот вопрос :
    Сможет ли простой пользователь сам переехать на новую ревизию или же придется обращаться за платными услугами ?
    Сам двиг поправить наверное проблем не будет , а вот моды :)
     
  3. Johanisce

    Johanisce Пользователь

    Сообщения:
    1
    Симпатии:
    0
    Версия TP:
    2.1.4
    Я вот недавно решил сделать треккер. Посмотрел форум и решил ожидать выхода новой версии.
     
  4. Diolektor

    Diolektor Разработчик

    Сообщения:
    50
    Симпатии:
    16
    Версия TP:
    1.0 (SVN)
    Обратную совместимость постараемся удержать. Но она скорее будет специфической. :sneaky:
    Таких целей точно никто не ставил. :)
    А вот цель прекратить вносить изменения в код движка для внедрения модов была.
     
    Последнее редактирование: 12 май 2016
    Bender нравится это.
  5. Exile

    Exile Администратор

    Сообщения:
    2.997
    Симпатии:
    1.497
    Версия TP:
    2.1.6
    Нет, ставить отдельно не нужно, да у меня уже и большие сомнения в том что его сейчас реально "поставить". Время, когда была возможность "выдрать" капчу и поставить на старые версии движка, прошло. Обновление на версию 2.2 как-нибудь предусмотрим, но все модификации к движку в дальнейшем не будут рассчитаны на ручное внесение изменений в файлы движка - это позволит обновлять движок без потери модификаций, простой заменой файлов.
     
    serega, Boec, vanechek и 2 другим нравится это.

Поделиться этой страницей