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.
131 lines
5.8 KiB
131 lines
5.8 KiB
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) |
|
}
|
|
|