Files
web_huangguo2_server/pub/common/utils/redis.go
T
2026-09-29 10:47:38 +08:00

57 lines
1.1 KiB
Go

package utils
import (
"bytes"
"time"
"videoweb/pub/common/enum/redisconst"
sErr "videoweb/pub/common/errors"
"videoweb/pub/redis"
)
const (
expireTime = 30 * 24 * time.Hour
)
type TokenRedis struct {
}
func NewTokenRedis() *TokenRedis {
return &TokenRedis{}
}
func (tr *TokenRedis) Save(userId int64, token string) (err error) {
if err = tr.Delete(userId); err != nil {
return
}
err = redis.Set(redisconst.AppUserTokenKey(userId), token, expireTime)
if err != nil {
err = sErr.MakeWithErr(sErr.RedisSet, err)
}
return
}
func (tr *TokenRedis) Exists(userId int64, token string) (has bool, err error) {
tokenbytes, err := tr.Get(userId)
if err != nil {
return
}
has = bytes.Compare(tokenbytes, []byte(token)) == 0
return
}
func (tr *TokenRedis) Get(userId int64) (token []byte, err error) {
token, err = redis.GetBytes(redisconst.AppUserTokenKey(userId))
if err != nil {
err = sErr.MakeWithErr(sErr.RedisGet, err)
}
return
}
func (tr *TokenRedis) Delete(userId int64) (err error) {
err = redis.Del(redisconst.AppUserTokenKey(userId))
if err != nil {
err = sErr.MakeWithErr(sErr.RedisDel, err)
}
return
}