nellac
2021-04-18 13:32
采纳率: 100%
浏览 38
已采纳

用户下线缓存数据如何清除?

        项目中使用微信小程序作为前端,服务器端使用 Spring Boot,缓存使用 Redis。

        用户上线后,将用户账号(即手机号)存入 Redis 中(Vaue 为 null),以防止用户重复登录。用户主动点击退出登录时,调用后端相应方法清除缓存数据。但直接关闭程序,则缓存中数据无法被清除,下次登录时若缓存数据未超时仍然存在,则必然重复登录。

        关闭程序时,客户端应如何通知服务器端自己下线,以便清理缓存?类似的,如果使用网页前端,关闭网页后如何通知服务器端自己下线?

        

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 涛哥是个大帅比 2021-04-19 15:49
    已采纳

    心跳机制,每隔一段时间向服务端发送一个消息,以表示自己仍在线,超过这个时间表示已经下线,但是会有个问题,就是用户把手机放那里很久没动,就会自动下线

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • 张小帅和刘美美 2021-04-18 13:44

    可以给前端做个后台接口,定时就调用一次,后台判断如果隔一段没有调用,则清楚该用户的token

    评论
    解决 无用
    打赏 举报
  • 呼叫007 2021-04-19 15:00

    可以使用socket

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题