是否支持使用 RedisJson 进行大规模插入?

Posted

技术标签:

【中文标题】是否支持使用 RedisJson 进行大规模插入?【英文标题】:Is there support of mass insertion with RedisJson? 【发布时间】:2022-01-14 07:40:19 【问题描述】:

我正在考虑使用 redis 的批量插入功能。虽然没有找到任何这样做的参考。

是否有解决方法可以将redis mass insert 与RedisJson 一起使用?

【问题讨论】:

【参考方案1】:

这可以像标准批量插入一样通过 redis-cli 完成

$ cat data.txt 
JSON.SET foo . '"bar": "baz"'
JSON.SET yo . '"bar": "biz"'

$ cat data.txt  | redis-cli --pipe
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 2

$ redis-cli JSON.GET yo
"\"bar\":\"biz\""

如果您希望通过 python 执行此操作,请使用 Redis 管道,example 位于驱动程序的文档脚本中。

我通常会这样做:

rj = Client(host='localhost', port=6379, decode_responses=True)
pipe = rj.pipeline()

row_count = 0 
for x in mydata:
    pipe.jsonset(x[0], Path('.cost'), x[1])
    row_count += 1
    if row_count % 500 == 0:
        pipe.execute()

pipe.execute()

【讨论】:

JSON.SET foo . '"bar": "baz"' 虽然 json 无效..

以上是关于是否支持使用 RedisJson 进行大规模插入?的主要内容,如果未能解决你的问题,请参考以下文章

使用另一个表中的值进行大规模插入?

RedisJSON 横空出世!干掉 MongoDB 和 ES!

RedisJSON 横空出世!干掉 MongoDB 和 ES!

RedisJson发布官方性能报告,性能碾压ES和Mongo

RedisJson发布官方性能报告,性能碾压ES和Mongo

RedisJSON安装