Redis es perfecto para este tipo de datos. También es compatible con algunas estructuras de datos fundamentales y proporciona operaciones sobre ellas.
Recientemente convertí mi aplicación de foro Django para usarla en todos los datos de seguimiento/en tiempo real - es tan bueno que ya no tiene la sensación desagradable que tiene cuando hace este tipo de cosas (SET views = views + 1
y otras escrituras en cada página ver) con una base de datos relacional.
He aquí un ejemplo del uso de Redis para almacenar datos necesarios para el seguimiento de la actividad del usuario, incluyendo el mantenimiento de un conjunto ordenado de últimos usuarios visto hasta la fecha, en Python:
def seen_user(user, doing, item=None):
"""
Stores what a User was doing when they were last seen and updates
their last seen time in the active users sorted set.
"""
last_seen = int(time.mktime(datetime.datetime.now().timetuple()))
redis.zadd(ACTIVE_USERS, user.pk, last_seen)
redis.setnx(USER_USERNAME % user.pk, user.username)
redis.set(USER_LAST_SEEN % user.pk, last_seen)
if item:
doing = '%s <a href="%s">%s</a>' % (
doing, item.get_absolute_url(), escape(str(item)))
redis.set(USER_DOING % user.pk, doing)
¿Puedes compartir qué pila web estás utilizando? LAMP o .NET o? – DuckMaestro