18

使用 redis-cli 我连接到特定服务器:

redis-cli -h 10.1.xx.xx

select 1

然后只是获取一个关键功能的列表:

KEYS data_column*

这将在命令行上打印该列值的列表。但是,有很多值,我想将查询输出保存到文件中。

一般来说,> file_name在命令之后使用是有效的。但在这种情况下,它不起作用,因为它在 redis 服务器上,虽然是从命令行。如何保存这样的查询结果?

4

6 回答 6

28

只需使用:

./redis-cli -h 10.1.xx.xx -n 1 keys 'data_column*' >file.txt
于 2015-11-02T15:47:35.707 回答
5
echo "keys data_column*" | redis-cli -h 10.1.xx.xx -p xx > file.txt
于 2018-03-28T08:08:00.587 回答
4

遵循 hjiam2 上面所说的内容,但我无法评论他们的帖子。我误解了他们所说的“keys data_column*”的意思,最终实现了我想要的:

echo 'GET key_name' | redis-cli -h localhost -p 6379 > key_value.txt

我在一个想要查看的键中有一个很长的值,因此需要将它放入一个文件中,然后我可以用它做任何我想做的事情。使用上面的命令实现了这一点。

显然,请确保key_name是您要查找的内容,并确保主机端口也正确。

于 2019-12-19T20:14:42.230 回答
2

这对我有用(redis-cli 版本 5.0.7):

redis-cli -a [password] -h [hostname] -p [port] [operation name] [key] >> /tmp/myfile.txt 

例如:

redis-cli -a password -h 127.0.0.1 -p 6379 GET myrediskey >> /tmp/myfile.txt 
于 2020-11-04T14:48:32.210 回答
2

使用下面的命令行将所有密钥导出到文件。

./redis-cli -h XX -p YY KEYS "keyname*" >> filedata.txt

XX -> 主机名

YY -> 密码

于 2018-12-06T15:51:33.550 回答
1

我一直在寻找这个但是我没有找到合适的解决方案,所以我写了一段JS代码以我的方式做到这一点,我希望它可以有用。

const redis = require("redis");
const client = redis.createClient(6379);
const fs = require("fs")

client.KEYS("*", (e, res) => {
  for (i=0; i < res.length; i++){
    client.get(res[i], (e, item) => {
      fs.appendFile('output.txt', "Item: " + item + "\n", function (err) {
        if (err) throw err;
        console.log('Item Saved!');
      });
    })
  }
})
于 2021-04-15T21:04:09.167 回答