Мне нужно вставлять около 1000 строк каждую секунду в базу данных MySQL, поскольку для каждого посетителя я должен добавить IP, браузер и страну в определенную таблицу для статистики.
Вставка посещений строка за строкой требует много производительности от сервера и много встреченного тайм-аута, чтобы минимизировать эту проблему и получить лучшую производительность, я хочу объединить REDIS + MySQL.
Чтобы достичь своей цели, я должен сохранять каждое посещение в REDIS, сопровождаемое точной датой, включая секунды, в формате JSON, а затем из сценария PHP я хочу получить эти записи и вставить их в базу данных MySQL, используя CRONJOB (Каждый второй, чтобы сделать его РЕАЛЬНЫМ для пользователей).
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);
Вставка данных в один запрос занимает очень короткое время и значительно снижает производительность на моем сервере.
Итак, моя точная проблема:
Чтобы иметь возможность добавлять новую запись в REDIS для каждого посещения к фактической дате (это означает добавление всей информации о посещениях к этой дате в секунду) в формате JSON, если это возможно, или нет, а затем с помощью сценария CRONJOB php, я может извлекать все данные в режиме реального времени и добавлять их в базу данных MySQL (для каждой добавленной строки в базу данных MySQL будут удалены из REDIS для предотвращения дублирования).