Files
go-common/app/service/live/xuser/service/exp/v1/clear_cache.go
2019-04-22 18:49:16 +08:00

36 lines
1.0 KiB
Go

package v1
import (
"context"
v1pb "go-common/app/service/live/xuser/api/grpc/v1"
"go-common/library/net/metadata"
expModel "go-common/app/service/live/xuser/model/exp"
"go-common/library/log"
)
func (s *UserExpService) asyncCLearExpCache(ctx context.Context, req *v1pb.UserExpChunk) (err error) {
err = s.dao.DelExpFromMemCache(ctx, req.Uid)
if err != nil {
log.Error(_errorServiceLogPrefix+"|"+_ERROR_ASYNC_CACHE_FAIL3+"|clear UserExp cache(%d) error(%v)", req.Uid, err)
}
return
}
func (s *UserExpService) asyncSetExpCache(ctx context.Context, req map[int64]*expModel.LevelInfo) error {
c := metadata.WithContext(ctx)
f := func(c context.Context) {
if err := s.dao.SetExpListCache(c, req); err != nil {
log.Error(_errorServiceLogPrefix+"|"+_ERROR_ASYNC_CACHE_FAIL+"|asyncSetExpCache|error(%v),missedUIDs(%v)", err)
}
}
if runErr := s.addExpCache.Save(func() {
f(c)
}); runErr != nil {
log.Error(_errorServiceLogPrefix+"|"+_ERROR_ASYNC_CACHE_FAIL2+"|asyncSetExpCache|error(%v),run cache is full(%v)", runErr)
f(c)
}
return nil
}