如何通过Python将JSON格式文件导入到redis中?
来源:知乎
导入前需要确保已经安装了Redis并且可以启动相关服务。
在windows上启动redis的命令是redis-server.exe redis.windows.conf。效果图如下:
使用Python连接redis
如果你想将JSON文件导入到Redis中,只需连接到redis服务即可。实施步骤如下。
安装redis并导入
安装redis库
pip install redis
导入redis库
import redis
使用代码连接Redis
通过Redis服务器连接库Redis类。
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
print(r)
连接本地Redis服务器,使用默认端口6379连接数据库0,建议使用redis桌面工具同步连接测试。
写入键值
连接成功后,可以使用Redis命令对数据进行操作,比如设置键值对:
import redis
r = redis.Redis(host='localhost', port=6379, db=15)
r.set('name', '梦想橡皮擦')
print(r)
在可视化工具中可以看到数据已经写入。
获取键值
r.get('name')
基础已经准备好了。接下来,立即将JSON文件写入redis。
JSON文件写入redis的操作
首先使用json.load()方法读取JSON文件,首先查看JSON文件的内容。
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))
输入后先看结果。
上面的代码将 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))
可以看到现在key和value都存储在redis中了。
r.hset(name, key, value)方法是Redis哈希表命令之一,它用于将指定的键和值添加到Redis哈希表中。
- 参数说明如下:
- name:哈希表的名称。
- 键:添加键。
- 值:要添加的值。
返回一个整数,表示添加的键值对是该哈希表的新键值对。
如果返回1,则表示添加了新的键值对;
如果返回0,则表示key已经存在并且value已经更新。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。