KillDead
Хранитель порядка
- Регистрация
- 11 Авг 2006
- Сообщения
- 894
- Реакции
- 579
- Автор темы
- #1
Здравствуйте. Возникла небольшая задача, вроде бы тривиальная:
Есть дорвей, требования к скрипту должны быть не особо большими. Mysql использовать нельзя. Дор получает и парсит новости, затем всё кеширует. Но проблема такая- нужно проверять, есть ли новость с заголовком "ХХХ1" уже на сайте или нет. Особо не думая сделал файл base.db в которой храню md5 всех новостей. Проверка представляет собой чтение всей базы в ключи массива и потом проверка, есть ли такой ключ.
В принципе, всё устраивало, скорость нормальная, но при увеличении объёмов увеличилось количество памяти на массив, по рассчётам, скрипт будет есть аж 500 метров при максимальном наполнении.
Хочу спросить- как лучше организовать такую проверку. Может ктото решал? Есть пара идей, но пока они под обдумыванием.
Есть дорвей, требования к скрипту должны быть не особо большими. Mysql использовать нельзя. Дор получает и парсит новости, затем всё кеширует. Но проблема такая- нужно проверять, есть ли новость с заголовком "ХХХ1" уже на сайте или нет. Особо не думая сделал файл base.db в которой храню md5 всех новостей. Проверка представляет собой чтение всей базы в ключи массива и потом проверка, есть ли такой ключ.
Код:
$fp = fopen( '/video_id.db', 'r');
$_idbase = array();
while ($idInBase = fgets($_idbasefp)) {
$_idbase[trim($idInBase)] = 1;
}
fclose($_idbasefp);
foreach($news as $title=>$__){
if(isset( $_idbase[$title])){
continue;
}
}
Хочу спросить- как лучше организовать такую проверку. Может ктото решал? Есть пара идей, но пока они под обдумыванием.