redis实现Token分发
user_uid_token
1001 | 1002 | 1003 |
851e559d1c6e814bef98534ee0a92f7f | 9cbf8a4dcb8e30682b927f352d6559a0 | 2d96cf9d90b31d4a756f0ae7eafa985b |
user_token_uid
851e559d1c6e814bef98534ee0a92f7f | 9cbf8a4dcb8e30682b927f352d6559a0 | 2d96cf9d90b31d4a756f0ae7eafa985b |
1001 | 1002 | 1003 |
//生成token
public function join_token_online($info){
$token = md5(md5($info['phone'].$info['password'].time()).Yii::$app->params['password_salt']);
//先寻找旧HASH
$old_hash_token = Yii::$app->redis->hget('user_uid_token',$info['id']);
if ($old_hash_token) {
//如果存在旧hash 就先删除旧的
Yii::$app->redis->hdel('user_token_uid',$old_hash_token);
}
Yii::$app->redis->hset('user_uid_token',$info['id'],$token);
Yii::$app->redis->hset('user_token_uid',$token,$info['id']);
return $token;
}
效验用户token:
$uid = Yii::$app->redis->hget('user_token_uid',$token);