Documentation ¶
Index ¶
- Variables
- func BcryptCheck(password, hash string) bool
- func BcryptHash(password string) string
- func CreateDir(dirs ...string) (err error)
- func CreateToken(userID uint64, userName string) (string, error)
- func GetCoverImage(videoPath, saveCoverPath string, frameNum int) (CoverImageName string, err error)
- func GetRandExpireTime() time.Duration
- func MultipartUpload(objectName, localFileName string) (string, error)
- func NewBucket() (*oss.Bucket, error)
- func PathExists(path string) (bool, error)
- func UploadFromFile(objectName, localFileName string) (string, error)
- type MyCustomClaims
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrorUserNameNull = errors.New("用户名不合法") ErrorUserExit = errors.New("用户名已注册过") ErrorUserNotExit = errors.New("用户名不存在") ErrorPasswordNull = errors.New("密码不合法,要求以字母开头,长度在6~18之间,只能包含字符、数字和下划线") ErrorPasswordError = errors.New("密码错误") ErrorNotInCache = errors.New("没有命中缓存") )
View Source
var ( FeedPattern = "feed" //所有视频的ID列表缓存(zset)的key VideoPattern = "video:%d" //单条视频的信息缓存(hset)的key PublishPattern = "publish:%d" //单个用户的发布视频ID列表缓存(zset)的key UserPattern = "user:%d" //单个用户的信息缓存(hset)的key CommentsOfVideoPattern = "commentsOfVideo:%d" //单条视频的所有发布评论ID列表缓存(zset)的key CommentPattern = "comment:%d" //单条评论的信息缓存(hset)的key FavoritePattern = "favorite:%d" //单个用户的所有点赞视频ID列表缓存(zset)的key FollowPattern = "follow:%d" //单个用户的所有关注用户ID列表缓存(zset)的key FollowerPattern = "follower:%d" //单个用户的所有粉丝用户ID列表缓存(zset)的key PublishEmptyPattern = "publishVideoEmpty:%d" //用户发布视频列表为空的空值处理:(set) key FavoriteEmptyPattern = "favoriteVideoEmpty:%d" //用户点赞视频列表为空的空值处理:(set) key FollowEmptyPattern = "followUserEmpty:%d" //用户关注列表为空的空值处理:(set) key FollowerEmptyPatten = "userFollowerEmpty:%d" //用户粉丝列表为空的空值处理:(set) key CommentEmptyPattern = "videoCommentEmpty:%d" //视频评论列表为空的空值处理:(set) key UsernameRegisteredPattern = "usernameRegistered:%s" //用户名已被注册的缓存处理:(set) key UserInfoEmptyPattern = "userInfoEmptyPattern:%d" //用户信息查看缓存穿透的空值处理(set)key UserLoginEmptyPattern = "userLoginEmptyPattern:%s" //登录用户名不存在的空值处理(set)key )
View Source
var ( VideoExpire = 10 * time.Minute PublishExpire = 10 * time.Minute UserExpire = 10 * time.Minute CommentsOfVideoExpire = 10 * time.Minute CommentExpire = 10 * time.Minute FavoriteExpire = 10 * time.Minute FollowExpire = 10 * time.Minute FollowerExpire = 10 * time.Minute PublishEmptyExpire = 1 * time.Minute FavoriteEmptyExpire = 1 * time.Minute FollowEmptyExpire = 1 * time.Minute FollowerEmptyExpire = 1 * time.Minute CommentEmptyExpire = 1 * time.Minute UsernameRegisteredExpire = 10 * time.Second UserInfoEmptyExpire = 10 * time.Second UserLoginEmptyExpire = 10 * time.Second )
Functions ¶
func CreateToken ¶
CreateToken 创建一个token
func GetCoverImage ¶
func GetCoverImage(videoPath, saveCoverPath string, frameNum int) (CoverImageName string, err error)
GetCoverImage 生成视频缩略图作为封面并保存 videoPath:视频的路径 saveCoverPath:生成的缩略图保存的路径 frameNum:缩略图所属的帧数,指定要截取视频的哪一帧作为封面,通过调整帧数截取稍微靠后的几秒作为封面 CoverImageName 获取缩略图的文件名称
func GetRandExpireTime ¶
GetRandExpireTime 针对大量数据同时失效带来的缓存雪崩问题,一般的解决方案是要避免大量的数据设置相同的过期时间,如果业务上的确有要求数据要同时失效,那么可以在过期时间上加一个较小的随机数,这样不同的数据过期时间不同,但差别也不大,避免大量数据同时过期,也基本能满足业务的需求。
func MultipartUpload ¶
MultipartUpload 分片上传
func UploadFromFile ¶
UploadFromFile 上传文件
Types ¶
type MyCustomClaims ¶
Click to show internal directories.
Click to hide internal directories.