用户tokenId应该保存在哪里?

tokenId表示为:用户登录到成功后,服务端分配给客户端的令牌号,同时下发tokenId的过期时间。下次用户直接持有tokenId,在其过期时间内均可跳过用户登录步骤,直接请求其他服务操作。如果tokenId过期,则需重新登录。

现在问:tokenId应该保存在哪里?

1、保存在服务器内存中,使用map形式来维护
优点:速度快,
缺点:耗内存,服务端当机了,全部tokenId消失了,及时是tokenId未过期,用户也是需要重新登录

2、保存在数据库中
优点:服务端当机,恢复后,还可以维护tokenId
缺点:用户每一次请求操作,都必须访问数据,增加服务端压力。。

我想问问,服务端到底是怎么保存的?还是有其他办法。。。还是说上面我说的没有考虑到的??

1、丢了影响很大吗?如果不大可以考虑 如memcache / 内存表
2、如果很大 那最好还是持久化+缓存 这样可以防止数据库压力大

据我了解貌似这种情况没什么好的解决方案,能用到的方案就是你提到的那几种,可能我了解得还不够多。