redis 统计当前在线用户

之前php+mysql一直苦于如何实现 精确统计 实时在线用户。最近在学习redis发现可以利用redis很简单的解决这个问题

思路:利用 expire 和 keys 命令实现  用户每操作一个页面 设置  当前用户名 为key 和 过期时间,统计keys 


实现:

用户访问页面

set username 1; //value可以设置用户的相关信息

expire username 300 //5分钟内算在线用户

keys * //查看所有在线用户


//补充可以直接使用 

命令:setex key seconds value

setex username 1 300


看到书中不建议使用keys*,这里没有考虑效率问题以及内存占用,只是学习到这里想到的一个思路。不正确的还希望大家指正

你可能感兴趣的:(redis 统计当前在线用户)