diff --git a/.vscode/launch.json b/.vscode/launch.json index 388c352..5fd8efe 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -15,7 +15,7 @@ "${workspaceFolder}/out/**/*.js" ], "args": [ - // "--disable-extensions", + "--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}" ] } diff --git a/src/server/tree/redis.ts b/src/server/tree/redis.ts index ced033a..5c851c7 100644 --- a/src/server/tree/redis.ts +++ b/src/server/tree/redis.ts @@ -30,12 +30,15 @@ export default class RedisItem extends Element { async getChildren(): Promise { await this.connect(); this.client.options.reconnection = true; - const [keyspaceStr, info] = await Promise.all([ - this.client.INFO('keyspace'), - this.client.CONFIG('get', 'databases') - ]); + const keyspaceStr = await this.client.INFO('keyspace'); const keyspace = this.parseKeyspace(keyspaceStr); + let info = ['databases', Object.keys(keyspace).length]; + try { + info = await this.client.CONFIG('get', 'databases'); + } catch (e) { + // ignore + } const count = parseInt(info[1] as string); const result: DBItem[] = []; for (let i = 0; i < count; i++) { diff --git a/vscode-redis.vsix b/vscode-redis.vsix new file mode 100644 index 0000000..e83b614 Binary files /dev/null and b/vscode-redis.vsix differ