Redis 批量插入 CSV - 数据未插入到 Redis

Redis mass insertion CSV - data is not inserting to Redis

我正在尝试使用以下命令将 CSV 数据插入 Redis

Column1 Column2
long_ago/speech: well-done speech
long-ago/debate: well-done debate
long ago/work: well-done work
awk -F ',' 'FNR > 1 &&  &&  {printf("SET Topic:%s %s\n",,)}' data_topics.csv | redis-cli --pipe

期望是我做的时候

GET  "Topic:long_ago/speech:"

应该打印

>"well-done speech"

但是当我尝试在 CSV 中插入 1000 行时,我没有得到任何输出。因此尝试使用 CSV 中的上述 3 行并得到以下错误

[admin~]$ awk -F ',' 'FNR > 1 &&  &&  {printf("SET Topic:%s %s\n",,)}' data_topics.csv | redis-cli --pipe
All data transferred. Waiting for the last reply...
ERR syntax error
ERR syntax error
ERR syntax error
Last reply received from the server.
errors: 3, Replies: 3

所以我尝试在第 2 列中添加双引号,现在我的 CSV 看起来像下面这样

Column1 Column2
long_ago/speech: "well-done speech"
long-ago/debate: "well-done debate"
long ago/work: "well-done work"

这是我现在遇到的错误 -

[admin~]$ awk -F ',' 'FNR > 1 &&  &&  {printf("SET Topic:%s %s\n",,)}' data_topics.csv | redis-cli --pipe
All data transferred. Waiting for the last reply...
ERR Protocol error: unbalanced quotes in request

请帮助我将 CSV 数据插入 Redis。

使用名为 data.csv 的 CSV,其中包含:

long_ago/speech:,well-done speech
long-ago/debate:,well-done debate
long-ago/work:,well-done work

您可以使用:

awk -F, '{printf("SET \"Topic:%s\" \"%s\"\n",,)}' data.csv | redis-cli --pipe

那么你可以这样做:

redis-cli GET "Topic:long_ago/speech:"
"well-done speech"