diff --git a/packages/web/src/widgets/DbKeysSubTree.svelte b/packages/web/src/widgets/DbKeysSubTree.svelte
index 617213069..ac9b664de 100644
--- a/packages/web/src/widgets/DbKeysSubTree.svelte
+++ b/packages/web/src/widgets/DbKeysSubTree.svelte
@@ -1,16 +1,15 @@
-{#each $keys || [] as key}
-
- {key.text}
-
+{#each $items || [] as item}
+
{/each}
diff --git a/packages/web/src/widgets/DbKeysTreeNode.svelte b/packages/web/src/widgets/DbKeysTreeNode.svelte
new file mode 100644
index 000000000..d315238c1
--- /dev/null
+++ b/packages/web/src/widgets/DbKeysTreeNode.svelte
@@ -0,0 +1,20 @@
+
+
+ (isExpanded = !isExpanded)}>
+ {item.text}
+
+
+{#if isExpanded}
+
+{/if}
diff --git a/plugins/dbgate-plugin-redis/src/backend/driver.js b/plugins/dbgate-plugin-redis/src/backend/driver.js
index c2870085d..0ea87eccf 100644
--- a/plugins/dbgate-plugin-redis/src/backend/driver.js
+++ b/plugins/dbgate-plugin-redis/src/backend/driver.js
@@ -102,6 +102,7 @@ const driver = {
res[keySplit[rootSplit.length]] = {
text: keySplit[rootSplit.length],
type: 'dir',
+ root: keySplit.slice(0, rootSplit.length + 1).join(':'),
};
}
}