SpringBoot使用Redis的zset统计在线用户信息
统计在线用户的数量,是应用很常见的需求了。用户登录后,每隔一段时间,往服务器推送一个消息,表示当前用户在线。在线用户统计的实现基于数据库实现最简单的办法,就是在用户表,添加一个最后心跳包的日期时间字段 last_active。弊端也是显而易见,为了提高检索效率,不得不为last_active字段添加索引,而因为心跳的更新,会导致频繁的重新维护索引树,效率极其低下。基于Redis实现这是比较理想的一种实现方式了,Redis基于内存进行读写,性能自然比关系型数据库好得多,而且它所提供的Zset可以很方便的构建出一个在线用户的统计服务。Redis的Zset这里不会涉及太多redis的东西,简单说明以下zset。它是一个有序的set集合,集合中的每个元素由2个东西组成