You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.3 KiB
45 lines
1.3 KiB
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 |
|
}
|
|
|