package redis import ( "encoding/json" "errors" "time" "github.com/sirupsen/logrus" "myschools.me/suguo/intelligent-community/model" ) // 存储用户的Token func UserTokenSet(key *string, usr *model.User) error { err := Set(*key, usr, 7210*time.Second) if err != nil { logrus.WithFields(logrus.Fields{ "func": "UserTokenSet", }).Warnf("Set: %s", err.Error()) return err } return nil } // 从redis中获取用户信息,最佳实践经验建议把此代码放service层 func UserTokenGet(token *string) (*model.User, error) { b, err := GetBytes(token) if err != nil { return nil, err } if b == nil { return nil, errors.New("无效token,请重新登录!") } var user *model.User if err := json.Unmarshal(*b, user); err != nil { return nil, err } return user, nil }