Documentation
¶
Index ¶
- type Leaderboard
- type Member
- type Options
- type Order
- type RedisLeaderboard
- func (l *RedisLeaderboard) AddMember(ctx context.Context, id interface{}, score int) error
- func (l *RedisLeaderboard) Clean(ctx context.Context) error
- func (l *RedisLeaderboard) GetAround(ctx context.Context, id interface{}, limit int, order Order) ([]*Member, error)
- func (l *RedisLeaderboard) GetRank(ctx context.Context, id interface{}) (int, error)
- func (l *RedisLeaderboard) List(ctx context.Context, offset, limit int, order Order) ([]*Member, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Leaderboard ¶
type Leaderboard interface { AddMember(ctx context.Context, id interface{}, score int) error List(ctx context.Context, offset, limit int, order Order) ([]*Member, error) GetAround(ctx context.Context, id interface{}, limit int, order Order) ([]*Member, error) GetRank(ctx context.Context, id interface{}) (int, error) Clean(ctx context.Context) error }
Leaderboard is the representation of a leaderboard usage.
func NewLeaderBoard ¶
func NewLeaderBoard(redisClient *redis.Client, name string, opts *Options) Leaderboard
NewLeaderBoard create a new leaderboard stored in Redis with specific name and configs. You can see all supported config in type `Options`
type RedisLeaderboard ¶ added in v0.0.3
type RedisLeaderboard struct {
// contains filtered or unexported fields
}
RedisLeaderboard defines a leaderboard stored in Redis, follows Leaderboard interface
func (*RedisLeaderboard) AddMember ¶ added in v0.0.3
func (l *RedisLeaderboard) AddMember(ctx context.Context, id interface{}, score int) error
AddMember add a member with score to leaderboard. It will automatically add member to the right position, if member was already in leaderboard, it will update the rank of this one.
func (*RedisLeaderboard) Clean ¶ added in v0.0.3
func (l *RedisLeaderboard) Clean(ctx context.Context) error
Clean clear all data of leaderboard in redis
func (*RedisLeaderboard) GetAround ¶ added in v0.0.3
func (l *RedisLeaderboard) GetAround(ctx context.Context, id interface{}, limit int, order Order) ([]*Member, error)
GetAround get list member around another member with limit and order
Click to show internal directories.
Click to hide internal directories.