Запрос данных redis - PullRequest
       4

Запрос данных redis

0 голосов
/ 13 сентября 2011

в моем файле access_log есть несколько таких строк ... 10.10.11.69 [13 / Sep / 2011: 09: 52: 48 +0530] "GET /icons/blank.gif HTTP / 1.1" 304 - "http://10.10.10.14/production-logs/no2-pg-wallet/""Mozilla / 5.0 (Windows; U; Windows NT 6.1; ru-ru; rv: 1.9.2.15) Gecko / 20110303 Firefox / 3.6.15"

Я пытаюсь сохранить данные в базе данных Redis. IМожно создать автоматически увеличиваемый идентификатор и сохранить IP-адрес, отметку времени, ответ страницы и т. д., как показано ниже.

redis-cli incr next.news.id

set news:2:IP "10.10.11.69"

set news:2:timestamp "[13/Sep/2011:09:52:48 +0530]"

set news:2:request "GET /icons/blank.gif HTTP/1.1"

set news:2:response "304"

set news:2:page "http://10.10.10.14/production-logs/" 

set news:2:browser "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15"

У меня есть 2 вопроса:

1) Как автоматизировать процессхранение access_log для redis?

2) Как узнать, сколько обращений я получил на страницу «production_logs»?

1 Ответ

1 голос
/ 13 сентября 2011

Как мне автоматизировать процесс сохранения access_log в redis?

Возможно, вам придется создать какой-нибудь скрипт / программу, которая будет выполнять ваш набор команд каждый раз, когда создается новая запись в журнале, или делать это пакетно через некоторое время (например, запланированное задание).

Как узнать, сколько хитов я получил на страницу "production_logs"?

Вы можете создать ключ, который будет состоять из некоторого префикса и URL-адреса страницы (или хэша URL-адреса), например url:{url or hash here}, и использовать команду INCRBY для этого ключа. Если вы хотите хэшировать URL-адрес страницы, вы можете сохранить этот материал в структуре хэшированных данных redis, где одно поле будет указывать имя URL-адреса, а второе будет использоваться для хранения количества обращений с помощью команды HINCRBY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...