Сохранение записи для IP-адреса (альтернатива БД)

мне нужно сохранить запись для пользователя по 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, содержащим необходимые данные. Могу ли я столкнуться с проблемами с количеством файлов или папок, из-за которых этот метод будет работать медленнее, чем база данных?

0
задан Lightness Races in Orbit 3 January 2012 в 15:56
поделиться