Я думаю, вы должны начать писать прототип в redis-cli
. Также я хотел бы отметить эту очень хорошую статью от Саймона Уиллисона, объясняющую redis .
Учитывая, что Redis SET не позволяет
повторные ключи (которые спасут меня от
делать запрос на тот же URL), как
я могу контролировать, когда пользователь удаляет
URL из его аккаунта, но другой пользователь
имеет тот же URL? Могу ли я иметь INCR
значение в ключе URL, так что я знаю, как
у многих пользователей есть URL в их
счет?
Я бы использовал для этого SADD + INCR .
SADD urls http://www.google.com
INCR http://www.google.com
Чтобы удалить http://www.google.com
Я бы просто сделал:
DECR http://www.google.com
#Only if DECR http://www.google.com => 0, then you should remove from SET
SREM urls http://www.google.com
Учитывая, что я делаю HTTP-запрос каждый
минут, и я хочу использовать Redis, чтобы сохранить
результаты (время отклика, вверх / вниз,
и т.д.), как лучше всего спасти
эти данные в Redis (результаты
запросы к каждому URL каждую минуту)?
Я бы использовал уникальный ключ для каждого URL и записывал данные в redis как json (JSON.stringify(obj)
), используя MSET .
MSET data:http://www.google.com "{json for google}" data:http://www.yahoo.com "{json for yahoo}"
Чтобы показать результаты пользователю
в режиме реального времени, что является лучшим способом
запросить результаты и разобрать их в
в режиме реального времени?
Я бы получил результаты через MGET и проанализировал json (obj = JSON.parse(json-string)
).