之前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*,这里没有考虑效率问题以及内存占用,只是学习到这里想到的一个思路。不正确的还希望大家指正