这里是一个py 导入json到redis的代码示例,它会将字典、列表和元组类型的值序列化为 JSON 字符串。在这个修改后的脚本中,使用 `json.dumps()` 函数对这些数据类型进行序列化处理。
```python
import json
import redis
# 替换为您的 JSON 文件路径及 Redis 服务器连接参数
json_file_path = 'your_json_file.json'
redis_host = '127.0.0.1'
redis_port = 6379
redis_password = '' # 如果没有密码可设置为空
# 连接到 Redis 服务器
r = redis.Redis(host=redis_host, port=redis_port, password=redis_password, decode_responses=True)
# 定义一个用于序列化的函数,支持字典、列表和元组类型
def serialize_value(value):
if isinstance(value, (dict, list, tuple)):
return json.dumps(value)
return value
# 加载 JSON 文件并将文件数据导入 Redis
with open(json_file_path, 'r') as json_file:
json_data = json.load(json_file)
for key, value in json_data.items():
serialized_value = serialize_value(value)
r.set(key, serialized_value)
print("JSON 数据已成功导入 Redis!")
```
通过这个脚本,将不会再出现 `redis.exceptions.DataError` 错误。所有字典、列表和元组类型的值都会被序列化为 JSON 字符串。当您需要从 Redis 读取并使用这些值时,请记住通过 `json.loads()` 函数对它们进行反序列化处理。
标签:示例,Redis,py,redis,JSON,value,json,序列化 From: https://www.cnblogs.com/xzlive/p/17683598.html