项目场景:
限制用户只有一个token. 每次登录成功生成新的token,之前的token应当给予删除问题描述:
以tp6 为例,登录成功时的cache操作
/**
* 登录成功时的token操作
* @param int $uid
* @return string
*/
private function token(int $uid) :string
{
// 删除之前的token 保证用户token唯一
$cache = cache('user_'.$uid);
cache($cache, null);
// 生成token
$token = Str::getUserToken($uid);
// 记录redis
cache($token, $uid, 3600*24);
cache('user_'.$uid, $token);
return $token;
}