123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package timemachine
- import (
- "context"
- "go-common/app/interface/main/activity/model/timemachine"
- "go-common/library/stat/prom"
- )
- var _ _cache
- func (d *Dao) Timemachine(c context.Context, id int64) (res *timemachine.Item, err error) {
- addCache := true
- res, err = d.CacheTimemachine(c, id)
- if err != nil {
- addCache = false
- err = nil
- }
- if res != nil {
- prom.CacheHit.Incr("Timemachine")
- return
- }
- prom.CacheMiss.Incr("Timemachine")
- res, err = d.RawTimemachine(c, id)
- if err != nil {
- return
- }
- miss := res
- if !addCache {
- return
- }
- d.cache.Do(c, func(c context.Context) {
- d.AddCacheTimemachine(c, id, miss)
- })
- return
- }
|