Redis è perfetto per questo tipo di dati. Supporta anche alcune strutture dati fondamentali e fornisce operazioni su di esse.
Recentemente ho convertito la mia app del forum Django per usarla per tutti i dati di tracciamento in tempo reale - è così bello non avere più la sensazione odiosa che si ottiene quando si fa questo genere di cose (SET views = views + 1
e altre scritture su ogni pagina vista) con un database relazionale.
Ecco un esempio di utilizzo di Redis per memorizzare i dati necessari per il monitoraggio delle attività degli utenti, tra cui mantenere un insieme ordinato di ultimi utenti che hanno visitato fino ad oggi, in 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)
fonte
2011-03-06 09:50:47
Puoi condividere lo stack Web che stai utilizzando? LAMP o .NET o? – DuckMaestro