rank

package
v1.1.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type F64CountRank

type F64CountRank struct {
	// contains filtered or unexported fields
}

func (*F64CountRank) DelByRank

func (r *F64CountRank) DelByRank(start int64, stop int64) (err error)

DelByRank 根据排名范围删除元素。 该方法使用了Redis的有序集合数据结构,通过ZRange和ZRemRangeByRank命令来实现。 参数start和stop定义了要删除的排名范围,从start到stop(包括start和stop)。 返回可能的错误。

func (*F64CountRank) DelScore

func (r *F64CountRank) DelScore(id int64) (err error)

DelScore 删除当前分数

该方法从更新时间有序集合和排名有序集合中移除指定的id。 这通常用于从排行榜中删除一个条目,同时确保其在更新时间集合中的对应记录也被清除。

@Description: 从更新时间和排名集合中移除指定id
@receiver r 接收者为F64CountRank类型的实例
@param id 要从集合中移除的条目的ID
@return err 可能发生的错误,如果操作成功,err为nil

func (*F64CountRank) Delete

func (r *F64CountRank) Delete()

Delete 删除当前排行榜 该方法通过删除Redis中与排行榜相关的键来清除排行榜信息

func (*F64CountRank) GetCount

func (r *F64CountRank) GetCount()

todo暂时未使用

func (*F64CountRank) GetIdRankNotTs

func (r *F64CountRank) GetIdRankNotTs(id int64) (rankInfo *RankData)

GetIdRankNotTs 获取指定id的当前排名 该方法从Redis的有序集合中查询指定id的分数和排名信息,不考虑时间戳 参数:

id - 需要查询排名的id

返回值:

rankInfo - 包含id的分数和排名信息的指针,如果没有找到,则返回nil

func (*F64CountRank) GetRankInfosNotTs

func (r *F64CountRank) GetRankInfosNotTs(offset, count int) (list []*RankData, err error)

GetRankInfosNotTs 获取0~count跳记录 不根据更新时间来 该方法使用ZRange命令从Redis中获取指定范围的排名信息,不考虑更新时间 参数:

offset - 获取记录的起始偏移量
count - 获取记录的数量

返回值:

list - 排名信息列表
err - 错误信息,如果执行过程中遇到错误

func (*F64CountRank) IncrScore

func (r *F64CountRank) IncrScore(id int64, score int64) (curScore float64, err error)

IncrScore 对指定ID的分数进行增加,并返回增加后的当前分数。 该方法首先更新成员的更新时间戳,然后增加成员的分数。

参数:

id - 要操作的成员ID。
score - 要增加的分数。

返回值:

curScore - 增加分数后的当前分数。
err - 操作过程中可能发生的错误。

IncrScore 先改redis再改cache

@Description:
@receiver r
@param id
@param score
@return curScore
@return err

func (*F64CountRank) UpdateScore

func (r *F64CountRank) UpdateScore(id int64, score int64) (err error)

updateScore 更新给定ID的分数值。

参数:

id - 需要更新分数的实体ID。
score - 新的分数值。

返回值:

error - 更新过程中可能出现的错误。

该方法首先记录当前时间作为更新时间戳,然后将新的分数值添加到排名系统中。 使用Redis的ZAdd方法来确保操作的原子性和一致性。 UpdateScore 更新分数

@Description:
@receiver r
@param id
@param score
@return err

type Mod

type Mod struct {
}

func New deprecated

func New() *Mod

Deprecated:Use pgk.Rank()

func (*Mod) CreateF64CountRank deprecated

func (s *Mod) CreateF64CountRank(name string) *F64CountRank

CreateF64CountRank 创建一个排行榜实例 参数:

name: 排行榜的名称,通常代表一个赛季

返回值:

*F64CountRank: 返回一个指向新创建的F64CountRank实例的指针

Deprecated:Use pgk.Rank().CreateF64CountRank(fmt.Sprintf("rank:%v", 1))

func (*Mod) Load

func (s *Mod) Load()

type RankData added in v1.1.10

type RankData struct {
	Id       int64
	Score    int64
	Rank     int32
	UpdateTs int64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL