问个mysql的问题吧哥哥们

就是我想统计用户在线,

用户每分钟一次心跳,收到心跳记录到表中,表应该怎么规划, 多用户,每日日期,每天还有1440分钟...

有没有想过不常用的数据但是需要记录的拿json记录,反正我是这么搞过

1.用户在线记录表

字段: ID,用户ID,用户昵称,用户登录时间,用户登录设备。用户下线时间,操作员ID,操作时间,失效时间等等其他你认为必要的字段。

2.一般这种记录不会使用数据库。一般是记录在内存里面。当坚持用户下线后在写入一条记录。如果每一分钟都记录一条数据到数据库会产生大量重复数据。

v2016
引用
有没有想过不常用的数据但是需要记录的拿json记录,反正我是这么搞过
v2016 有没有想过不常用的数据但是需要记录的拿json记录,反正我是这么搞过

不常用,但是想收集

KKt
引用
1.用户在线记录表 字段: ID,用户ID,用户昵称,用户登录时间,用户登录设备。用户下线时间,操作员ID,操作时间,失效时间等等其他你认为必要的字段。 2.一般这种记录不会使用数据库。一般是...
KKt 1.用户在线记录表 字段: ID,用户ID,用户昵称,用户登录时间,用户登录设备。用户下线时间,操作员ID,操作时间,失效时间等等其他你认为必要的字段。 2.一般这种记录不会使用数据库。一般是记录 ...

需要做图表,所以需要收集.

William
引用
Redis
William Redis

需要固化的数据.

必须redis,最次也要写进本地缓存文件,然后每小时定时任务写进mysql。过于频繁读取sql会崩,非这么搞的话也不能存本地,在第三方VPS新建一套统计系统。

gaoyuyu
引用
KKt1.用户在线记录表 字段: ID,用户ID,用户昵称,用户登录时间,用户登录设备。用户下线时间,操作员ID,操作时间,失效时间等等其他你认为必要的字段。 2.一般这种记录不会使...
gaoyuyu 需要做图表,所以需要收集.

统计在线用户走势图,只要记录用户上线下线时间即可。你这种思路超级浪费空间,并且不符合数据库设计原则

C
引用
必须redis,最次也要写进本地缓存文件,然后每小时定时任务写进mysql。过于频繁读取sql会崩,非这么搞的话也不能存本地,在第三方VPS新建一套统计系统。
C 必须redis,最次也要写进本地缓存文件,然后每小时定时任务写进mysql。过于频繁读取sql会崩,非这么搞的话也不能存本地,在第三方VPS新建一套统计系统。

写到Redis就行, Redis默认会有一个自动同步机制,  900秒内超过6条Redis执行 他就会默认同步一次

这场景还用啥 mysql 啊,redis

1