Hob*_*use 7 python django apache2
我有一个正在运行的django/apache2 + memcached应用程序(ubuntu),并希望跟踪登录的在线用户.
追踪这个的最佳方法是什么?
每次登录用户加载页面时,我宁愿不写入数据库; 但还有其他选择吗?
一种方法可能是:
您创建一个中间件,对 process_response 执行以下操作:
现在,您的 auth.User 表中已包含所有当前登录的用户。所有具有比 datetime.now()-interval(15 分钟) 更新的 last_login 的用户都可能被视为“在线”。
大约每 10 分钟就会为每个登录用户写入数据库。根据您的需要调整值“10”和“15”。
这里的优点是数据库写入很少(根据你的两个数字设置10/15)。为了速度优化,请确保对 last_login 建立索引,因此包含 Count 在内的该字段上的过滤器非常快。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |