используя redis nosql с веб-сканером - PullRequest
2 голосов
/ 06 октября 2011

Я делаю простой сканер страниц Википедии и записываю подробности на удаленный сервер, на котором выполняется redis.

 1 The crawler asks the server for a page that needs crawling
 2 The crawler loads the page and adds the pages that are found to an internal buffer
 3 When the page has finished being parsed the results are sent to the server 

как мне сделать следующее:

сохранить все страницы, найденные на сервере, с флагом, указывающим, была ли страница сканирована или нет ..

1008 * например *

Мой вопрос.

Как я могу попросить redis дать мне первую ссылку с состоянием 0 (пока не просканировано) а затем как я могу сказать redis изменить это состояние на 1 (после того, как я его просканировал)

1 Ответ

4 голосов
/ 06 октября 2011

Вы можете использовать список для хранения страницы для обработки

RPUSH mylist "http:// ...."

тогда вы можете использовать lpop, чтобы получить первый элемент в списке

LPOP mylist

Чтобы отслеживать обработанную страницу, вы можете использовать набор

SADD myset "http://.....

И, наконец, собрать, находится ли адрес в обработанном наборе

SISMEMBER myset "http://...."
...