navicat for redis 的导出功能仅生成 json/csv 结构化文本,非 rdb 快照;单键导出通过右键→「导出向导」,批量导出需「工具」→「导出向导」并设置键名模式;ttl 和 sorted set 精度存在丢失风险;真正 rdb 必须手动执行 bgsave。
导出单个键为json或csv文件
navicat for redis 的「导出向导」不生成 rdb,而是把键值对转成结构化文本。右键某个键(比如 user:1001)→ 选「导出向导」→ 格式选 json 或 csv → 点「开始」即可。导出内容包含键名、类型(string/hash)、ttl(如果未过期)、值本身。注意:csv 不保留嵌套结构,hash 类型会扁平成多行;json 更适合保留层级。
批量导出整个数据库的键值对
这不是右键单表能完成的操作。必须走「工具」→「导出向导」→ 在「选择连接」页选中目标 Redis 实例 → 「选择数据库」页选 db0(或你实际用的编号)→ 「键名模式」可留空(导全部)或填 user:* 这类 glob 模式 → 格式仍选 JSON。关键点:此处导出的是客户端视角的快照,不是服务端 RDB;大库导出时,若超时,需提前在「工具」→「选项」→「环境」→「查询」里调高「查询超时」值(比如设为 300 秒)。
导出时 TTL 和数据精度的坑
导出的 JSON/CSV 文件里,TTL 字段是导出时刻的剩余秒数,不是原始设置值;导入回 Redis 时,Navicat 默认用 SET 或 HSET 写入,**不会自动还原 TTL**——除非你在导出前手动加了 EXPIRE 命令,否则导入后所有键 TTL 都是 -1(永不过期)。另外,sorted set 的 score 若是浮点数,部分 Navicat 版本会截断精度(如 3.1415926 变成 3.14159),验证时得比对原始值。
基于三引擎设计,从微信文章、新闻和博客网页提取干净内容,支持标题作者日期元数据,多格式和批量处理。
别混淆「备份」按钮和真正 RDB 快照
右键数据库 →「备份」弹出的窗口,本质就是上述 JSON/CSV 导出流程,不是调用 SAVE 或 BGSAVE。想生成真正的 dump.rdb 文件,必须进「查询编辑器」手动执行 BGSAVE(SAVE 会阻塞,别用),然后去 Redis 服务端 dir 目录下找文件——Navicat 不负责下载或展示它。如果你需要的是可被 redis-server 启动时自动加载的二进制快照,这个路径和操作完全独立于 Navicat 的「导出」或「备份」功能。










