Navicat 15 连接 Redis 后默认只显示 db0,不提供图形化 DB 切换按钮;需在「命令」标签页手动执行 SELECT 0–15 切换当前会话数据库,再点击刷新才能查看对应 DB 的键列表,且该切换仅对当前连接生效。
navicat 15 连接 redis 后,默认只显示当前 db(通常是 db0),它**不提供图形化下拉切换 db 的按钮或菜单**。想看或操作其他 db,必须手动干预——不是点一下就能切,而是靠命令或配置驱动。
Navicat 15 中执行 SELECT 命令切换 DB
Navicat for Redis 的「命令列界面」支持直接输入 Redis 原生命令,SELECT 是唯一有效的实时切换方式:
- 在已连接的 Redis 实例上,点击顶部工具栏的 「命令」 标签页(不是「数据」或「查询」)
- 输入
SELECT 3(把3换成你要的 DB 编号,范围是0–15)并回车 - 如果返回
OK,说明当前会话已切换成功;后续所有读写(包括左侧树状视图刷新)都作用于该 DB - 注意:这个切换只对当前连接生效,新开一个连接仍默认回到
database: 0
为什么「数据」视图不自动响应 SELECT?
Navicat 15 的「数据」标签页采用缓存式加载,不会监听连接上下文变化。即使你刚执行了 SELECT 5,左侧数据库列表和键列表仍显示旧 DB 的内容:
- 必须手动点击左上角的 「刷新」图标(或按
F5),才能重新拉取当前 DB 的键列表 - 树状视图中显示的
db0、db1等节点只是静态标识,点击它们本身不会触发SELECT,也不会刷新内容 - 如果你没刷新就编辑/删除键,操作实际发生在上一次
SELECT切换后的 DB,极易误操作
Java / Spring Boot 应用里配错 database 导致 Navicat 看不到数据
很多用户在 Navicat 里查不到自己代码写入的数据,根本原因常出在客户端配置上:
- Spring Boot 的
spring.redis.database配置项决定应用默认连哪个 DB,比如设为2,那jedis.set("k", "v")就写进db2 - 但 Navicat 默认连的是
db0,所以你得先在命令列执行SELECT 2,再刷新,才能看到这些键 - 若用 Jedis 或 Lettuce 连接池,每次从池里取出连接后,必须显式调用
jedis.select(2),否则可能复用之前连过别的 DB 的连接,导致行为不一致 - Navicat 本身不读取你的 yml 或 properties 配置,它只认你当前连接 + 手动
SELECT的结果
真正容易被忽略的点是:Navicat 的「连接测试」和「连接建立」过程完全不涉及 DB 切换逻辑,它只校验 host/port/auth 是否通。DB 索引是纯会话级状态,既不持久化,也不同步到 UI 元素——一切依赖你手敲 SELECT 和手动刷新。别指望界面替你记住上次切到哪了。


















