Skip to content

Commit fc8c135

Browse files
CopilotMurderlon
andauthored
Fix @redis/client v5 compatibility: use scanIterator in RedisKvStore.list()
Agent-Logs-Url: https://github.com/tus/tus-node-server/sessions/1591bb04-c85a-494a-aeaa-065d3cf0828e Co-authored-by: Murderlon <9060226+Murderlon@users.noreply.github.com>
1 parent 0ee40db commit fc8c135

1 file changed

Lines changed: 3 additions & 6 deletions

File tree

packages/utils/src/kvstores/RedisKvStore.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,9 @@ export class RedisKvStore<T = Upload> implements KvStore<T> {
3030

3131
async list(): Promise<Array<string>> {
3232
const keys = new Set<string>()
33-
let cursor = 0
34-
do {
35-
const result = await this.redis.scan(cursor, {MATCH: `${this.prefix}*`, COUNT: 20})
36-
cursor = result.cursor
37-
for (const key of result.keys) keys.add(key)
38-
} while (cursor !== 0)
33+
for await (const batch of this.redis.scanIterator({MATCH: `${this.prefix}*`, COUNT: 20})) {
34+
for (const key of batch) keys.add(key)
35+
}
3936
return Array.from(keys)
4037
}
4138

0 commit comments

Comments
 (0)