mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 07:50:25 +08:00
73 lines
1.8 KiB
Go
73 lines
1.8 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"mayfly-go/internal/redis/api/form"
|
|
"mayfly-go/pkg/biz"
|
|
"mayfly-go/pkg/ginx"
|
|
"mayfly-go/pkg/req"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
func (r *Redis) ZCard(rc *req.Ctx) {
|
|
ri, key := r.checkKeyAndGetRedisIns(rc)
|
|
|
|
total, err := ri.GetCmdable().ZCard(context.TODO(), key).Result()
|
|
biz.ErrIsNilAppendErr(err, "zcard失败: %s")
|
|
rc.ResData = total
|
|
}
|
|
|
|
func (r *Redis) ZScan(rc *req.Ctx) {
|
|
g := rc.GinCtx
|
|
ri, key := r.checkKeyAndGetRedisIns(rc)
|
|
|
|
cursor := uint64(ginx.QueryInt(g, "cursor", 0))
|
|
match := ginx.Query(g, "match", "*")
|
|
count := ginx.QueryInt(g, "count", 50)
|
|
|
|
keys, cursor, err := ri.GetCmdable().ZScan(context.TODO(), key, cursor, match, int64(count)).Result()
|
|
biz.ErrIsNilAppendErr(err, "sscan失败: %s")
|
|
rc.ResData = map[string]interface{}{
|
|
"keys": keys,
|
|
"cursor": cursor,
|
|
}
|
|
}
|
|
|
|
func (r *Redis) ZRevRange(rc *req.Ctx) {
|
|
g := rc.GinCtx
|
|
ri, key := r.checkKeyAndGetRedisIns(rc)
|
|
start := ginx.QueryInt(g, "start", 0)
|
|
stop := ginx.QueryInt(g, "stop", 50)
|
|
|
|
res, err := ri.GetCmdable().ZRevRangeWithScores(context.TODO(), key, int64(start), int64(stop)).Result()
|
|
biz.ErrIsNilAppendErr(err, "ZRevRange失败: %s")
|
|
rc.ResData = res
|
|
}
|
|
|
|
func (r *Redis) ZRem(rc *req.Ctx) {
|
|
g := rc.GinCtx
|
|
option := new(form.SmemberOption)
|
|
ginx.BindJsonAndValid(g, option)
|
|
|
|
cmd := r.getRedisIns(rc).GetCmdable()
|
|
res, err := cmd.ZRem(context.TODO(), option.Key, option.Member).Result()
|
|
biz.ErrIsNilAppendErr(err, "zrem失败: %s")
|
|
rc.ResData = res
|
|
}
|
|
|
|
func (r *Redis) ZAdd(rc *req.Ctx) {
|
|
g := rc.GinCtx
|
|
option := new(form.ZAddOption)
|
|
ginx.BindJsonAndValid(g, option)
|
|
|
|
cmd := r.getRedisIns(rc).GetCmdable()
|
|
zm := redis.Z{
|
|
Score: option.Score,
|
|
Member: option.Member,
|
|
}
|
|
res, err := cmd.ZAdd(context.TODO(), option.Key, zm).Result()
|
|
biz.ErrIsNilAppendErr(err, "zadd失败: %s")
|
|
rc.ResData = res
|
|
}
|