Create & Init Project...
This commit is contained in:
73
app/interface/main/videoup/dao/archive/redis.go
Normal file
73
app/interface/main/videoup/dao/archive/redis.go
Normal file
@ -0,0 +1,73 @@
|
||||
package archive
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"go-common/app/interface/main/videoup/model/archive"
|
||||
"go-common/library/cache/redis"
|
||||
"go-common/library/log"
|
||||
)
|
||||
|
||||
const (
|
||||
_upFavTpsPrefix = "up_fav_tps_"
|
||||
)
|
||||
|
||||
func keyUpFavTpsPrefix(mid int64) string {
|
||||
return _upFavTpsPrefix + strconv.FormatInt(mid, 10)
|
||||
}
|
||||
|
||||
// FilenameExpires get filename expire time.
|
||||
func (d *Dao) FilenameExpires(c context.Context, vs []*archive.VideoParam) (ves []*archive.VideoExpire, err error) {
|
||||
var conn = d.redis.Get(c)
|
||||
defer conn.Close()
|
||||
for _, v := range vs {
|
||||
conn.Send("GET", v.Filename)
|
||||
}
|
||||
if err = conn.Flush(); err != nil {
|
||||
log.Error("conn.Flush() error(%v) | vs(%#v)", err, vs)
|
||||
return
|
||||
}
|
||||
for _, v := range vs {
|
||||
var exp int64
|
||||
if exp, err = redis.Int64(conn.Receive()); err != nil && err != redis.ErrNil {
|
||||
log.Error("conn.Receive error(%+v) | filename(%s)", err, v.Filename)
|
||||
return
|
||||
}
|
||||
err = nil // NOTE: maybe err==redis.ErrNil
|
||||
ves = append(ves, &archive.VideoExpire{
|
||||
Filename: v.Filename,
|
||||
Expire: exp,
|
||||
})
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// FreshFavTypes fn
|
||||
func (d *Dao) FreshFavTypes(c context.Context, mid int64, tp int) (err error) {
|
||||
var (
|
||||
conn = d.redis.Get(c)
|
||||
score = time.Now().Unix()
|
||||
)
|
||||
defer conn.Close()
|
||||
if err = conn.Send("ZADD", keyUpFavTpsPrefix(mid), score, strconv.Itoa(tp)); err != nil {
|
||||
log.Error("conn.Send(ZADD, %s, %d) error(%v)", _upFavTpsPrefix, tp, err)
|
||||
return
|
||||
}
|
||||
if err = conn.Flush(); err != nil {
|
||||
log.Error("conn.Flush error(%v)", err)
|
||||
return
|
||||
}
|
||||
if _, err = conn.Receive(); err != nil {
|
||||
log.Error("conn.Receive() error(%v)", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (d *Dao) pingRedis(c context.Context) (err error) {
|
||||
conn := d.redis.Get(c)
|
||||
_, err = conn.Do("SET", "PING", "PONG")
|
||||
conn.Close()
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user