如何通过Python将JSON格式文件导入redis?

Posted 华为云开发者社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Python将JSON格式文件导入redis?相关的知识,希望对你有一定的参考价值。

摘要:如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务。

本文分享自华为云社区《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 类连接 Redis 服务器。

import redis
r = redis.Redis(host=\'localhost\', port=6379, db=0)
print(r)

连接到本地 Redis 服务器,并使用默认端口 6379,连接到数据库 0,这里建议使用 redis desktop 工具同步进行连接测试。

写入键值

连接成功后,可以使用 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))

可以看到此时 redis 中存储了 key 和 value 。

r.hset(name, key, value) 方法是 Redis 哈希表命令之一,用于将指定的键和值添加到 Redis 哈希表中。

  • 参数说明如下:
    • name:哈希表的名称。
    • key:要添加的键。
    • value:要添加的值。

它返回一个整数,表示添加的键值对是否是该哈希表的新键值对。

如果返回 1,表示新键值对已添加;

如果返回 0,表示键已经存在,并且值已被更新。

 

点击关注,第一时间了解华为云新鲜技术~

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 类连接 Redis 服务器。

import redis
r = redis.Redis(host='localhost', port=6379, db=0)
print(r)

连接到本地 Redis 服务器,并使用默认端口 6379,连接到数据库 0,这里建议使用 redis desktop 工具同步进行连接测试。

写入键值

连接成功后,可以使用 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))

可以看到此时 redis 中存储了 key 和 value 。


r.hset(name, key, value) 方法是 Redis 哈希表命令之一,用于将指定的键和值添加到 Redis 哈希表中。

  • 参数说明如下:
    • name:哈希表的名称。
    • key:要添加的键。
    • value:要添加的值。

它返回一个整数,表示添加的键值对是否是该哈希表的新键值对。
如果返回 1,表示新键值对已添加;
如果返回 0,表示键已经存在,并且值已被更新。

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 846 篇原创博客

全网 6000+人正在学习的 爬虫专栏 👇👇👇👇

以上是关于如何通过Python将JSON格式文件导入redis?的主要内容,如果未能解决你的问题,请参考以下文章

Python将JSON格式文件导入 redis,多种方法

Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

python中json文件如何转换为外部链接

如何从 Android 应用程序将 json 文件格式导入 CouchBase lite

python 处理 json 数据

如何将请求参数转为json格式