diff --git a/src/redis.go b/src/redis.go index 64bcf23..5fe4c11 100644 --- a/src/redis.go +++ b/src/redis.go @@ -35,12 +35,12 @@ func (r *Redis) Connect(conf RedisConfig) error { } // Scan returns all keys by the pattern in the Redis database. -func (r *Redis) Scan(cursor uint64, pattern string) ([]string, uint64, error) { +func (r *Redis) Scan(cursor uint64, pattern string, count int64) ([]string, uint64, error) { ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) defer cancel() - res := r.conn.Scan(ctx, cursor, pattern, 25) + res := r.conn.Scan(ctx, cursor, pattern, count) if err := res.Err(); err != nil { return nil, 0, err diff --git a/src/routes.go b/src/routes.go index 1637993..f54e45c 100644 --- a/src/routes.go +++ b/src/routes.go @@ -44,7 +44,7 @@ func ListHandler(ctx *fiber.Ctx) error { result := make([]string, 0) for { - keys, cursor, err := r.Scan(0, "unique:*") + keys, cursor, err := r.Scan(0, "unique:*", 25) if err != nil { return err @@ -54,7 +54,7 @@ func ListHandler(ctx *fiber.Ctx) error { result = append(result, strings.TrimPrefix(uuid, "unique:")) } - if cursor == 0 || len(keys) < 1 { + if cursor == 0 { break } }