摘要:如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务。
本文分享自华为云社区《Python将JSON格式文件导入 redis,多种方法》,作者: 梦想橡皮擦 。
在导入前需要先确定你已经安装 Redis,并且可以启动相关服务。
windows 上启动 redis 的命令是 redis-server.exe redis.windows.conf,效果图如下:
![](https://pic1.zhimg.com/80/v2-668152e51e0f2d5ea42b8d6615cb26a8_720w.webp)
使用 Python 连接 redis
如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务,实现步骤如下所示。
安装 redis 与 导入
安装 redis 库
pip install redis
导入 redis 库
import redis
使用代码连接 Redis
通过 redis 库的 Redis 类连接 Redis 服务器。
import redis r = redis.Redis(host='localhost', port=6379, db=0) print(r)
连接到本地 Redis 服务器,并使用默认端口 6379,连接到数据库 0,这里建议使用 redis desktop 工具同步进行连接测试。
![](https://pic3.zhimg.com/80/v2-33ee1d8f33ed86dc0f54816ce90e5f9a_720w.webp)
写入键值
连接成功后,可以使用 Redis 的命令来操作数据,例如设置键值对:
import redis r = redis.Redis(host='localhost', port=6379, db=15) r.set('name', '梦想橡皮擦') print(r)
可以在可视化工具中查看到数据已经写入。
![](https://pic3.zhimg.com/80/v2-fafa2e06cc5ed227768cb5d399af934e_720w.webp)
获取键值
r.get('name')
基础准备好,接下来就将 JSON 文件一次性的写入到 redis 中。
操作 JSON 文件写入 redis
首先使用 json.load() 方法读取 JSON 文件,首先看一下 JSON 文件内容。
![](https://pic3.zhimg.com/80/v2-9a72ecced97c29f58c97a96c215ce8a6_720w.webp)
JSON 最外层是一个列表,其中每一个元素都是对象,我们需要将每个对象都插入到 redis 中,形成 使 Redis 的哈希表。
完整代码如下所示:
import redis import json r = redis.Redis(host='localhost', port=6379, db=15) with open('travel.json', 'r',encoding='utf-8') as file: data = json.load(file) for item in data: r.lpush('travel', json.dumps(item))
先看一下插入之后的结果。
![](https://pic1.zhimg.com/80/v2-fe1f2d29b247e78b73ca29ad9e4ee8ec_720w.webp)
上述代码是将 JSON 文件中的每一项都转换为字符串,然后以 lpush 方式插入到队列的左侧,也可以使用 rpush 进行插入。
如果希望以键值对形式进行插入,需要使用 hset() 方法,参考代码如下所示。
import redis import json r = redis.Redis(host='localhost', port=6379, db=15) with open('travel.json', 'r',encoding='utf-8') as file: data = json.load(file) for index,item in enumerate(data): r.hset('travel', index, json.dumps(item))
可以看到此时 redis 中存储了 key 和 value 。
![](https://pic4.zhimg.com/80/v2-57a9c4de32b98abdc853d9418ec9dec3_720w.webp)
r.hset(name, key, value) 方法是 Redis 哈希表命令之一,用于将指定的键和值添加到 Redis 哈希表中。
- 参数说明如下:
- name:哈希表的名称。
- key:要添加的键。
- value:要添加的值。
它返回一个整数,表示添加的键值对是否是该哈希表的新键值对。
如果返回 1,表示新键值对已添加;
如果返回 0,表示键已经存在,并且值已被更新。
标签:Python,redis,Redis,JSON,格式文件,json,键值,import From: https://www.cnblogs.com/huaweiyun/p/17436761.html