// field : count,token_count // ctx := context.Background() // 登录次数计数器 func getLoginErrorCount(ctx context.Context, uname ,field string) (int, error) { count := 0 // 默认是没有登录错误次数 conn, err := redSentinelConn.GetConn() if err != nil { return count, err } bExist, err := conn.HExists(ctx, uname, field).Result() if err != nil { return count, err } if bExist == false { return count, nil } else { valmap ,err := conn.HGetAll(ctx, uname).Result() if err != nil { log.Printf("###### HGetAll err", err) return count, nil } log.Printf("###### HGetAll valmap", valmap) val, err := conn.HGet(ctx, uname, field).Int() if err != nil { log.Printf("###### HMGet hmget err", err) return count, nil } log.Printf("###### HMGet hmget Val", val) return val, nil } } func loginErrorCount(ctx context.Context, uname ,field string) (int, error) { conn, err := redSentinelConn.GetConn() if err != nil { return 0, err } count, err := getLoginErrorCount(ctx, uname,field) log.Printf("###### getDoLoginErrorCount count", count) if err != nil { log.Printf("doLoginErrorCount err", err) return count, nil } count++ if count <= 5 { err := conn.HSet(ctx, uname, field, count).Err() if err != nil { log.Printf("redis set error:", err) } } conn.Expire(ctx, uname, 10*time.Minute) return count, nil }