Перейти к содержимому Реклама на AFF.TOP от 50 000 посетителей в месяц из поиска · $3000 за 3 месяца Написать @dumay Реклама на сайте 📣 Ваша реклама здесь от 50 000 посетителей в месяц из поиска $3000за 3 месяца Написать @dumay Реклама на сайте 🚀 Ваша реклама здесь от 50 000 посетителей в месяц из поиска $3000за 3 месяца Написать @dumay
Пишу трекинг на PHP: логика работы трекера и как Redis ускоряет обработку запросов
▶ 28:39
Скачать видео с Ютуба Бесплатно, MP4 до 1080p или MP3 — вставьте ссылку на ролик Открыть

Пишу трекинг на PHP: логика работы трекера и как Redis ускоряет обработку запросов

CROYMAN
CROYMAN
• 7 мая 2026 • 28:39 • 📘 Туториалы
👁 213 на YouTube 👍 15 💬 5 📊 138 на aff.top

О чём это видео

Автор продолжает серию по созданию собственного трекера трафика на PHP и разбирает базовую архитектуру обработки клика. Проект перенесён в папку app, добавлены Dockerfile, Composer, autoload классов, конфиг, подключения к MySQL и Redis. На примере index.php показывается, какие данные можно собрать при клике: IP, host, referer, user-agent, headers, cookies, GET/POST-параметры, URI, query string, метод запроса, протокол, порт и время. Основной акцент — алгоритм выдачи click ID: новый пользователь получает ID и cookie, данные краткосрочно пишутся в Redis, а фоновый worker затем переносит их в MySQL, чтобы ускорить редирект и не нагружать базу.

Ключевые тейки

  • PHP собирает ключевые данные клика
    На первом запросе можно снять IP, домен, referer, user-agent, headers, cookies, GET/POST-метки, URI, query string, метод, протокол, порт и время запроса для дальнейшей фильтрации.
  • Redis нужен для быстрого редиректа
    Клик сначала пишется в Redis, потому что чтение и запись идут из оперативной памяти быстрее, чем в MySQL. Это позволяет быстро отдать пользователю нужный сайт без задержек.
  • Worker переносит клики в MySQL
    Redis используется как временный буфер, а фоновый worker спокойно забирает данные и складывает их в долгосрочную базу MySQL, не тормозя обработку живого клика.
  • Click ID завязан на Redis и cookie
    Если в Redis нет записи и cookie пустая, генерируется новый click ID, ставится cookie и фиксируется уникальный клик. Повторные визиты определяются по cookie и временной записи.
  • UTM-метки остаются основой аналитики
    Все GET-параметры после знака вопроса собираются вместе с кликом. Эти метки нужны, чтобы понимать источник, связку, кампанию и сопоставлять клики, лиды и дальнейшую статистику.
  • Composer упрощает структуру проекта
    Autoload Composer подключает классы из src и общий config без ручного require в каждом файле. Это делает проект трекера масштабируемее по мере роста количества классов.

Главы видео

  1. 0:00 Вступление: цель серии видео и обзор проекта.
  2. 1:42 Ссылки на GitHub и Telegram: где забрать код.
  3. 2:16 Общая логика сбора данных трекером (схема работы).
  4. 3:53 Обзор структуры проекта: Docker, Composer и новые файлы.
  5. 5:22 Настройка Docker и расширений PHP для работы с БД и Redis.
  6. 6:10 Работа с Composer и автозагрузка классов (Autoload).
  7. 8:50 Организация классов в папке src: базы данных, Redis, Helpers.
  8. 10:21 Система миграций БД: как развернуть проект на сервере.
  9. 11:05 Конфигурационные файлы: хранение констант и настроек.
  10. 12:15 Разбор Index.php: подключение автолоадера и пространств имен.
  11. 13:30 Тестирование соединений с MySQL и Redis.
  12. 14:08 Практика: какие данные о клике собираем (IP, User-Agent, Cookies, UTM).
  13. 16:30 Демонстрация результата: подробный разбор JSON с данными клика.
  14. 21:00 Алгоритм выдачи и проверки уникального Click ID (блок-схема).
  15. 22:15 Зачем нужен Redis и как работает фоновый Worker.
  16. 27:57 План на следующее видео: генерация Click ID и запись в БД.

Вопросы и ответы

Какие данные по клику можно собрать на PHP?
Можно собрать IP, host, referer, user-agent, headers, cookies, GET и POST параметры, URI, query string, метод запроса, протокол, порт и время клика.
Зачем трекеру Redis, если есть MySQL?
Redis нужен для быстрой временной записи и проверки кликов в оперативной памяти, чтобы не тормозить редирект тяжёлыми операциями чтения и записи в MySQL.
Как автор предлагает выдавать click ID пользователю?
Если записи в Redis нет и cookie пустая, генерируется новый click ID, он пишется в cookie, а данные о клике временно сохраняются в Redis как уникальные.
Как обрабатывать повторный клик того же пользователя?
Если cookie есть, а запись в Redis уже истекла, клик считается неуникальным, снова пишется в Redis для статистики, а пользователю отдаётся тот же подходящий сайт.
Почему нельзя грузить много JS на первом клике?
Первый запрос должен отработать максимально быстро: PHP собирает данные, делает проверку и редиректит. JS автор предлагает подключать уже после перехода на целевой сайт.
Поделиться
Telegram X
Обновлено: 10 октября 2026