Мне нужно хранить запись для пользователя по IP-адресу, чтобы ограничить скорость, с которой определенный IP-адрес может выполнять действие.
Я знаю, что сохранение IP в базе данных будет работать, но ябеспокоит то, что на небольшом VPS с ограниченными ресурсами процесс MySQL потребует слишком много вычислительной мощности.Есть ли другой способ хранения данных для IP?
Я думал о системе, похожей на:
/ips/
/ips/127/
/ips/127/0
/ips/127/0/0
/ips/127/0/0/1.txt
Пример кода:
$ip_parts = explode('.', $_SERVER['REMOTE_ADDR']);
$records = intval(file_get_contents('ips/' . implode('/', $ip_parts)));
if($records > 50) {
echo 'Error - credits used.';
} else {
// Do something
}
С 1.TXT-файл, содержащий необходимые данные.Могу ли я столкнуться с проблемами с количеством файлов или папок, из-за которых этот метод работает медленнее, чем база данных?