Redis非常适合这类数据.它还支持一些基本数据结构并为它们提供操作.
我最近转换了我的Django论坛应用程序,用于所有实时/跟踪数据 - 当你用关系做这种东西(SET views = views + 1和每个页面视图上的其他写入)时,你不再有这种感觉很好数据库.
下面是使用Redis存储用户活动跟踪所需数据的示例,包括在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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12867 次 |
| 最近记录: |