Documentation ¶
Index ¶
- Variables
- func GenRedisClient(addr string, password string, db int) *redis.Client
- type HyperStats
- func (c *HyperStats) Add(ctx context.Context, elements ...string) error
- func (c *HyperStats) AddAny(ctx context.Context, key string, elements ...string) error
- func (c *HyperStats) ChangePrefix(newPrefix string)
- func (c *HyperStats) Counts(ctx context.Context, hold bool, keys ...string) (saveKey string, allCount int64, err error)
- func (c *HyperStats) DayTimeRangerCount(ctx context.Context, start time.Time, end time.Time) (int64, error)
- func (c *HyperStats) Del(ctx context.Context, keys ...string) error
- func (c *HyperStats) GenerateKey(k string) string
- func (c *HyperStats) GetAnyMonthCount(ctx context.Context, monthNumber time.Month) (int64, error)
- func (c *HyperStats) GetNowMonthCount(ctx context.Context) (int64, error)
- func (c *HyperStats) GetNowWeekCount(ctx context.Context) (int64, error)
- func (c *HyperStats) Merges(ctx context.Context, keys ...string) (saveKey string, err error)
- func (c *HyperStats) MustAdd(ctx context.Context, elements ...string)
- func (c *HyperStats) MustAddAny(ctx context.Context, key string, elements ...string)
- func (c *HyperStats) NowCount(ctx context.Context) (int64, error)
- func (c *HyperStats) NowCountVal(ctx context.Context) int64
- func (c *HyperStats) SummaryKeys(ctx context.Context, keys ...string) (int64, error)
- func (c *HyperStats) SummaryKeysUseRule(ctx context.Context, ids ...string) (int64, error)
- type WorkStats
- func (c *WorkStats) AddComment(ctx context.Context, userId string, mid string) error
- func (c *WorkStats) AddLike(ctx context.Context, userId string) error
- func (c *WorkStats) AddPv(ctx context.Context, ip string, ua string) error
- func (c *WorkStats) AddPvHash(ctx context.Context, ip string, ua string) error
- func (c *WorkStats) AddShare(ctx context.Context, userId string) error
- func (c *WorkStats) AddUv(ctx context.Context, userId string) error
- func (c *WorkStats) GenerateKey(event string) string
- func (c *WorkStats) GetSummary(ctx context.Context) (*WorkStatsResp, error)
- func (c *WorkStats) InComment(ctx context.Context, userId string, mid string) (bool, error)
- func (c *WorkStats) InLike(ctx context.Context, userId string) (bool, error)
- func (c *WorkStats) InShare(ctx context.Context, userId string) (bool, error)
- func (c *WorkStats) SummarySync(ctx context.Context) error
- func (c *WorkStats) UnComment(ctx context.Context, userId string, mid string) error
- func (c *WorkStats) UnLike(ctx context.Context, userId string) error
- type WorkStatsResp
Constants ¶
This section is empty.
Variables ¶
var ( TimeRangerParamsError = errors.New("params error : endTime <= startTime ") ParamsLengthEmptyError = errors.New("params error : input params is empty") ParamsKeyEmptyError = errors.New("params error : default key is empty please use newStats or NewStatsKey init struct") )
var (
DefaultPrefix = "st"
)
Functions ¶
func GenRedisClient ¶
Types ¶
type HyperStats ¶
type HyperStats struct { Prefix string Event string Rdb *redis.Client // contains filtered or unexported fields }
HyperStats HyperLog redis的统计
func NewStatsKey ¶
func NewStatsKey(event string, rdb *redis.Client, key string) *HyperStats
NewStatsKey 可选统计方法 指定key后缀 适用于文章等以ID为主的维度
func (*HyperStats) Add ¶
func (c *HyperStats) Add(ctx context.Context, elements ...string) error
Add 已存在的重复元素不会计数
func (*HyperStats) ChangePrefix ¶
func (c *HyperStats) ChangePrefix(newPrefix string)
ChangePrefix 变更前缀 请在生成时就变更 最好别变更
func (*HyperStats) Counts ¶
func (c *HyperStats) Counts(ctx context.Context, hold bool, keys ...string) (saveKey string, allCount int64, err error)
Counts 统计多个keys 先合并 再计数 hold为统计之后是否保留
func (*HyperStats) DayTimeRangerCount ¶
func (c *HyperStats) DayTimeRangerCount(ctx context.Context, start time.Time, end time.Time) (int64, error)
DayTimeRangerCount 时间范围统计 包含开始和结束当天
func (*HyperStats) Del ¶
func (c *HyperStats) Del(ctx context.Context, keys ...string) error
Del 删除key
func (*HyperStats) GenerateKey ¶
func (c *HyperStats) GenerateKey(k string) string
GenerateKey 通用生成规则的k [prefix]:[event]:[string]
func (*HyperStats) GetAnyMonthCount ¶
GetAnyMonthCount 获取任何月份整月汇总 请输入1-12的月份
func (*HyperStats) GetNowMonthCount ¶
func (c *HyperStats) GetNowMonthCount(ctx context.Context) (int64, error)
GetNowMonthCount 获取本月汇总 从1号到今天
func (*HyperStats) GetNowWeekCount ¶
func (c *HyperStats) GetNowWeekCount(ctx context.Context) (int64, error)
GetNowWeekCount 获取本周汇总 周一到今天
func (*HyperStats) MustAdd ¶
func (c *HyperStats) MustAdd(ctx context.Context, elements ...string)
MustAdd 必然新增
func (*HyperStats) MustAddAny ¶
func (c *HyperStats) MustAddAny(ctx context.Context, key string, elements ...string)
MustAddAny 必然新增任何any
func (*HyperStats) NowCount ¶
func (c *HyperStats) NowCount(ctx context.Context) (int64, error)
NowCount 统计当前
func (*HyperStats) NowCountVal ¶
func (c *HyperStats) NowCountVal(ctx context.Context) int64
NowCountVal 统计当前 仅返回数量
func (*HyperStats) SummaryKeys ¶
SummaryKeys 汇总统计多个KEY 对每个key进行计数 仅计数不合并不生成额外key
func (*HyperStats) SummaryKeysUseRule ¶
SummaryKeysUseRule 汇总统计多个KEY 使用规则生成最终的key eg: [prefix]:[event]:[id]
type WorkStats ¶
type WorkStats struct { Prefix string WorkId string Rdb *redis.Client // contains filtered or unexported fields }
WorkStats 作品统计
func NewWorkStats ¶
func (*WorkStats) AddComment ¶
AddComment 新增评论 用户是可以多条评论的
func (*WorkStats) GenerateKey ¶
func (*WorkStats) GetSummary ¶
func (c *WorkStats) GetSummary(ctx context.Context) (*WorkStatsResp, error)
GetSummary 获取汇总信息
func (*WorkStats) SummarySync ¶
SummarySync 汇总同步保存
type WorkStatsResp ¶
type WorkStatsResp struct { Id string `json:"id"` Like int `json:"like"` Comment int `json:"comment"` Pv int `json:"pv"` Uv int `json:"uv"` }
func BatchWorkGetSummary ¶
func BatchWorkGetSummary(ctx context.Context, rdb *redis.Client, wordIds ...string) ([]*WorkStatsResp, error)
BatchWorkGetSummary 自动按批次并发获取作品汇总信息
func ManyWorkGetSummary ¶
func ManyWorkGetSummary(ctx context.Context, rdb *redis.Client, batchLimit int, wordIds ...string) ([]*WorkStatsResp, error)
ManyWorkGetSummary 多个作品获取汇总信息