MST

星途 面试题库

面试题:Python中如何使用Redis模块实现简单的数据备份

假设你有一个Redis数据库,里面存储了一些简单的键值对数据。请用Python编写代码,使用Redis模块将这些数据备份到本地文件中,备份格式可以自行设计,但要易于恢复。阐述实现思路并给出核心代码。
43.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 连接到Redis数据库,获取所有的键值对。
  2. 设计一种备份格式,例如JSON,将键值对数据转换为该格式。
  3. 将转换后的数据写入本地文件。

核心代码

import redis
import json

# 连接到Redis
r = redis.Redis(host='localhost', port=6379, db=0)

# 获取所有键值对
data = {}
keys = r.keys('*')
for key in keys:
    value = r.get(key)
    data[key.decode('utf-8')] = value.decode('utf-8') if isinstance(value, bytes) else value

# 将数据转换为JSON格式并写入文件
with open('redis_backup.json', 'w') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)