需求是这样的: 用户状态的数据结构 ``` 用户id: 用户状态(在线,禁言,限制登陆等),user:id:123 -> 0 ``` 开始我是把用户id直接用 set 进redis,最简单的数据结构,然后去更新对应的状态 后来需要统计在线用户,把id查到返回,似乎只能通过正则 user:id* 把相关的keys查到,然后代码中去判断状态是否是在线的 但是 user:id* 耗时太慢了,考虑换成map,这样直接定位到map,减少了 user:id* 这种匹配查询 又发现我的key是需要设置过期时间的,user:id:123 不是一直有效的,map又不能设置value的过期时间 有点纠结,我感觉需要多个辅助数据结构来实现功能,有没有既能利用redis的过期时间,又能提高查询效率的办法?(感觉我可能需要这样一个容器结构,能把全部 user:id* 放到一起,这样查询效率高,然后我再去设置每个key的过期时间) 求指教