go-common/app/job/live/xroom-feed/internal/dao/cache.go
2019-04-22 18:49:16 +08:00

46 lines
1.3 KiB
Go

package dao
import (
"context"
daoAnchorV1 "go-common/app/service/live/dao-anchor/api/grpc/v1"
"go-common/library/log"
)
func (d *Dao) SetRecPoolCache(ctx context.Context, key string, list string, expire int) (err error) {
log.Info("[SetRecPoolCache]key: %s", key)
rconn := d.redis.Get(ctx)
defer rconn.Close()
if _, err = rconn.Do("SET", key, list, "EX", expire); err != nil {
log.Error("[SetRecPoolCache]redis.Set error(%v)", err)
}
return
}
func (d *Dao) SetRecInfoCache(ctx context.Context, list map[int64]*daoAnchorV1.RoomData) (err error) {
rconn := d.redis.Get(ctx)
defer rconn.Close()
//rconn.Send("MULTI")
for roomId, roomData := range list {
if roomData == nil {
continue
}
key, expire := d.getRecInfoKey(roomId)
rconn.Send("HMSET", key, "room_id", roomData.RoomId, "uid", roomData.Uid, "title", roomData.Title, "popularity_count", roomData.PopularityCount, "Keyframe", roomData.Keyframe, "cover", roomData.Cover, "parent_area_id", roomData.ParentAreaId, "parent_area_name", roomData.ParentAreaName, "area_id", roomData.AreaId, "area_name", roomData.AreaName)
rconn.Send("EXPIRE", key, expire)
}
if err = rconn.Flush(); err != nil {
log.Error("[SetRecInfoCache]redis.Set error(%v)", err)
}
for _, roomData := range list {
if roomData == nil {
continue
}
rconn.Receive()
rconn.Receive()
}
return
}