Navicat Premium 对 Redis 的支持限于键值浏览与管理,导出为 JSON/TXT 等文本格式而非 SQL 语句,不包含表结构或 DDL;导入需手动选键、注意格式兼容性及密码配置,大文件建议用 redis-cli 等命令行工具。

Redis 数据不能直接导出为 SQL 文件
Navicat Premium 对 Redis 的支持本质是键值浏览与管理,不生成 CREATE TABLE / INSERT 类 SQL 语句。所谓“导出”,实际是把当前选中的键或全部键的内容,序列化为 JSON、TXT 或自定义格式的文本文件——它没有表结构、没有字段定义、也不含 DDL 语句。如果你在导出后用文本编辑器打开,看到的是类似 {"user:1001":{"name":"Alice","score":95}} 这样的内容,而非 INSERT INTO users VALUES (1001, 'Alice', 95);。
导出 Redis 键值对必须手动选择范围
Navicat 不提供“一键导出全库”按钮,所有导出操作都基于当前视图中的键列表:
- 若想导出全部键:先在左侧连接下双击进入 Redis 实例,顶部工具栏点
刷新,确保键列表已加载;再按Ctrl+A全选,右键 →导出 - 若只导出某类键(如
cache:*):先在顶部搜索框输入cache:回车过滤,再Ctrl+A选中结果,右键 →导出 - 若导出单个键:直接右键该键名 →
导出,此时导出内容仅为该键的 value(可能为 string、hash、list 等原始类型)
注意:导出 菜单项在键列表上下文菜单里,不在连接或数据库右键菜单中——误点连接右键只会看到“运行 SQL 文件”这类 MySQL 相关选项。
导出格式选 JSON 还是 TXT 取决于后续用途
导出对话框中可选格式只有 JSON、TXT 和 Custom(自定义模板):
-
JSON:保留 Redis 数据类型语义,比如 hash 会导出为对象,list 导出为数组,适合导入回 Redis 或被程序解析 -
TXT:纯文本扁平化输出,key 和 value 用制表符分隔,适合用 Excel 打开做人工核对,但丢失嵌套结构 -
Custom:需手写模板,例如{key}\t{value.type}\t{value.string},适合审计日志场景,但调试成本高
别选错格式后才发现无法还原——JSON 是最通用的选择,尤其当你计划用 redis-cli --pipe 或第三方脚本重新载入时。
导入 JSON 文件到 Redis 需要额外工具配合
Navicat 的 导入 功能对 Redis 仅支持从本地 JSON/TXT 文件读取并写入键值,但它不会校验数据合法性:
- 如果 JSON 文件里有非法嵌套(如 object 内含 undefined),导入会静默跳过该键,不报错也不提示
- 若目标 Redis 开启了密码认证,但导入时没在连接属性中填密码,导入过程会卡在“正在连接”,无任何错误弹窗
- 大文件(>10MB)导入容易触发 Navicat 内存限制,建议拆成多个小文件,或改用命令行:
cat dump.json | redis-cli --pipe
真正可靠的数据迁移,往往绕过 Navicat 的图形导入,直接用 redis-cli --rdb 或 redis-dump 工具做二进制级备份——Navicat 的导出只是辅助查看和轻量同步,不是生产环境的数据兜底方案。











