go-common/app/interface/openplatform/article/dao/cache.go

132 lines
5.8 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package dao
import (
"context"
"strconv"
"go-common/app/interface/openplatform/article/model"
)
func (d *Dao) cacheSFList(id int64) string {
return strconv.FormatInt(id, 10)
}
func (d *Dao) cacheSFListArts(id int64) string {
return strconv.FormatInt(id, 10)
}
func (d *Dao) cacheSFUpLists(id int64) string {
return strconv.FormatInt(id, 10)
}
//go:generate $GOPATH/src/go-common/app/tool/cache/gen
type _cache interface {
// cache: -nullcache=&model.List{ID:-1} -check_null_code=$!=nil&&$.ID==-1 -singleflight=true
List(c context.Context, id int64) (*model.List, error)
// cache: -batch=100 -max_group=10 -nullcache=&model.List{ID:-1} -check_null_code=$!=nil&&$.ID==-1
Lists(c context.Context, keys []int64) (map[int64]*model.List, error)
// cache: -singleflight=true -nullcache=[]*model.ListArtMeta{{ID:-1}} -check_null_code=len($)==1&&$[0].ID==-1
ListArts(c context.Context, id int64) ([]*model.ListArtMeta, error)
// cache: -nullcache=[]*model.ListArtMeta{{ID:-1}} -check_null_code=len($)==1&&$[0].ID==-1
ListsArts(c context.Context, ids []int64) (map[int64][]*model.ListArtMeta, error)
// cache: -nullcache=-1 -batch=100 -max_group=10
ArtsListID(c context.Context, keys []int64) (map[int64]int64, error)
// cache: -nullcache=[]int64{-1} -check_null_code=len($)==1&&$[0]==-1 -singleflight=true
UpLists(c context.Context, mid int64) ([]int64, error)
// cache: -nullcache=&model.AuthorLimit{Limit:-1} -check_null_code=$!=nil&&$.Limit==-1
Author(c context.Context, mid int64) (*model.AuthorLimit, error)
}
//go:generate $GOPATH/src/go-common/app/tool/cache/mc
type _mc interface {
// 获取文集文章列表缓存
//mc: -key=listArtsKey
CacheListArts(c context.Context, id int64) (res []*model.ListArtMeta, err error)
// 增加文集含有的文章列表缓存
//mc: -key=listArtsKey -expire=d.mcListArtsExpire
AddCacheListArts(c context.Context, id int64, arts []*model.ListArtMeta) (err error)
// 获取文章所属文集
//mc: -key=articleListKey -type=get
ArticleListCache(c context.Context, id int64) (res int64, err error)
// 增加文章所属文集缓存
//mc: -key=articleListKey -expire=d.mcArtListExpire
SetArticlesListCache(c context.Context, arts map[int64]int64) (err error)
//mc: -key=listKey
CacheList(c context.Context, id int64) (res *model.List, err error)
//mc: -key=listKey -expire=d.mcListExpire
AddCacheList(c context.Context, id int64, list *model.List) (err error)
//mc: -key=listKey
CacheLists(c context.Context, ids []int64) (res map[int64]*model.List, err error)
//mc: -key=listKey -expire=d.mcListExpire
AddCacheLists(c context.Context, lists map[int64]*model.List) (err error)
//mc: -key=listArtsKey
CacheListsArts(c context.Context, ids []int64) (res map[int64][]*model.ListArtMeta, err error)
//mc: -key=listArtsKey -expire=d.mcListArtsExpire
AddCacheListsArts(c context.Context, arts map[int64][]*model.ListArtMeta) (err error)
//mc: -key=articleListKey
CacheArtsListID(c context.Context, ids []int64) (res map[int64]int64, err error)
//mc: -key=articleListKey -expire=d.mcArtListExpire
AddCacheArtsListID(c context.Context, arts map[int64]int64) (err error)
//mc: -key=upListsKey -expire=d.mcUpListsExpire
AddCacheUpLists(c context.Context, mid int64, lists []int64) (err error)
//mc: -key=upListsKey
CacheUpLists(c context.Context, id int64) (res []int64, err error)
//mc: -key=listReadCountKey -expire=d.mcListReadExpire
AddCacheListReadCount(c context.Context, id int64, read int64) (err error)
//mc: -key=listReadCountKey
CacheListReadCount(c context.Context, id int64) (res int64, err error)
//mc: -key=listReadCountKey
CacheListsReadCount(c context.Context, ids []int64) (res map[int64]int64, err error)
//mc: -key=hotspotsKey -expire=d.mcHotspotExpire
AddCacheHotspots(c context.Context, hots []*model.Hotspot) (err error)
//mc: -key=hotspotsKey
DelCacheHotspots(c context.Context) (err error)
//mc: -key=hotspotsKey
cacheHotspots(c context.Context) (res []*model.Hotspot, err error)
//mc: -key=mcHotspotKey
CacheHotspot(c context.Context, id int64) (res *model.Hotspot, err error)
//mc: -key=mcHotspotKey -expire=d.mcHotspotExpire
AddCacheHotspot(c context.Context, id int64, val *model.Hotspot) (err error)
// 增加作者状态缓存
//mc: -key=mcAuthorKey -expire=d.mcAuthorExpire
AddCacheAuthor(c context.Context, mid int64, author *model.AuthorLimit) (err error)
//mc: -key=mcAuthorKey
CacheAuthor(c context.Context, mid int64) (res *model.AuthorLimit, err error)
//mc: -key=mcAuthorKey
DelCacheAuthor(c context.Context, mid int64) (err error)
//mc: -key=slideArticlesKey
CacheListArtsId(c context.Context, buvid string) (*model.ArticleViewList, error)
//mc: -key=slideArticlesKey -expire=d.mcArticlesIDExpire
AddCacheListArtsId(c context.Context, buvid string, val *model.ArticleViewList) error
//mc: -key=slideArticlesKey
DelCacheListArtsId(c context.Context, buvid string) error
//mc: -key=AnniversaryKey -expire=60*60*24*30
CacheAnniversary(c context.Context, mid int64) (*model.AnniversaryInfo, error)
//mc: -key=mcTagKey
CacheAidsByTag(c context.Context, tag int64) (*model.TagArts, error)
//mc: -key=mcTagKey -expire=d.mcArticleTagExpire
AddCacheAidsByTag(c context.Context, tag int64, val *model.TagArts) error
//mc: -key=mcUpStatKey -expire=d.mcUpStatDailyExpire
CacheUpStatDaily(c context.Context, mid int64) (*model.UpStat, error)
//mc: -key=mcUpStatKey -expire=d.mcUpStatDailyExpire
AddCacheUpStatDaily(c context.Context, mid int64, val *model.UpStat) error
}
// RebuildUpListsCache .
func (d *Dao) RebuildUpListsCache(c context.Context, mid int64) (err error) {
lists, err := d.RawUpLists(c, mid)
if err != nil {
return
}
return d.AddCacheUpLists(c, mid, lists)
}
// RebuildListReadCountCache .
func (d *Dao) RebuildListReadCountCache(c context.Context, id int64) (err error) {
res, err := d.RawListReadCount(c, id)
if err != nil {
return
}
return d.AddCacheListReadCount(c, id, res)
}