132 lines
5.8 KiB
Go
132 lines
5.8 KiB
Go
|
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)
|
||
|
}
|