使用缓存提升API身份认证性能(0.8ms->0.05ms)

This commit is contained in:
GoEdgeLab
2021-01-21 10:06:59 +08:00
parent ed1926d96a
commit 496f19b801
4 changed files with 76 additions and 7 deletions

View File

@@ -67,8 +67,7 @@ func ValidateRequest(ctx context.Context, userTypes ...UserType) (userType UserT
nodeId := nodeIds[0]
// 获取角色Node信息
// TODO 缓存节点ID相关信息
apiToken, err := models.SharedApiTokenDAO.FindEnabledTokenWithNode(nil, nodeId)
apiToken, err := models.SharedApiTokenDAO.FindEnabledTokenWithNodeCacheable(nil, nodeId)
if err != nil {
utils.PrintError(err)
return UserTypeNone, 0, err
@@ -121,7 +120,8 @@ func ValidateRequest(ctx context.Context, userTypes ...UserType) (userType UserT
switch apiToken.Role {
case UserTypeNode:
nodeIntId, err := models.SharedNodeDAO.FindEnabledNodeIdWithUniqueId(nil, nodeId)
// TODO 需要检查集群是否已经删除
nodeIntId, err := models.SharedNodeDAO.FindEnabledNodeIdWithUniqueIdCacheable(nil, nodeId)
if err != nil {
return UserTypeNode, 0, errors.New("context: " + err.Error())
}