通过redis-py将一个.json文件导入到Redis数据库

3

假设我有以下这段 JSON 代码:

{"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]}

如何通过redis-py将数据存储到Redis数据库中?

下面是我的代码(我认为有误):

import json
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=1)
with open('json_test.json', encoding='utf-8') as data_file:
    test_data = json.loads(data_file.read())
r.hmset('test_json', test_data)

你使用hmset的原因是什么?你的目标是将完整文档存储在单个键下吗? - Andre Pastore
不,我想要对这个 .json 文件进行最优化的存储。我的总体目标是使用最佳结构(通过 redis-py)将 .json 文件存储在 Redis 中(包括比我提供的文件更大的文件)。 - user3590899
1个回答

4

根据你的代码和需求的简单性:将JSON文件内容存储到Redis中,你可以使用简单的SET方法。

为了提高数据解析效率,不需要在文件指针上使用.read()方法,相应地,你可以使用json.load(fp)方法版本。

import json
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=1)
with open('json_test.json') as data_file:
    test_data = json.load(data_file)
r.set('test_json', test_data)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接