go-common/app/job/main/passport-sns/dao/mc.go

59 lines
1.4 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package dao
import (
"context"
"fmt"
"go-common/app/job/main/passport-sns/model"
"go-common/library/cache/memcache"
"go-common/library/log"
)
func snsKey(platform string, mid int64) string {
return fmt.Sprintf("sns_%s_%d", platform, mid)
}
// SetSnsCache set sns to cache
func (d *Dao) SetSnsCache(c context.Context, mid int64, platform string, sns *model.SnsProto) (err error) {
key := snsKey(platform, mid)
conn := d.mc.Get(c)
defer conn.Close()
item := &memcache.Item{Key: key, Object: sns, Flags: memcache.FlagProtobuf, Expiration: d.mcExpire}
if err = conn.Set(item); err != nil {
log.Error("fail to set sns to mc, key(%s) expire(%d) error(%+v)", key, d.mcExpire, err)
}
return
}
// DelSnsCache del sns cache
func (d *Dao) DelSnsCache(c context.Context, mid int64, platform string) (err error) {
key := snsKey(platform, mid)
conn := d.mc.Get(c)
defer conn.Close()
if err = conn.Delete(key); err != nil {
if err == memcache.ErrNotFound {
err = nil
return
}
log.Error("fail to del sns cache, key(%s) error(%+v)", key, err)
}
return
}
// GetUnionIDCache .
func (d *Dao) GetUnionIDCache(c context.Context, key string) (v string, err error) {
conn := d.mc.Get(c)
r, err := conn.Get(key)
conn.Close()
if err != nil {
if err == memcache.ErrNotFound {
err = nil
return
}
log.Error("GetUnionIDCache, key(%s) error(%+v)", key, err)
return
}
v = string(r.Value)
return
}