将Redis查询输出保存到文件

时间:2015-11-02 15:40:39

标签: redis redis-cli

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

redis-cli -h 10.1.xx.xx

select 1

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

KEYS data_column*

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

通常,在命令工作后使用> file_name。但在这种情况下,它在redis服务器上不起作用,但是从命令行开始。如何保存这样的查询结果?

7 个答案:

答案 0 :(得分:19)

只需使用:

./redis-cli -h 10.1.xx.xx -n 1 keys 'data_column*' >file.txt

答案 1 :(得分:4)

echo“keys data_column *”| redis-cli -h 10.1.xx.xx -p xx> file.txt的

答案 2 :(得分:1)

-p表示不是密码。它是端口。 -a表示密码。 -auth

的快捷方式
  

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

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

XX->主机名

     

YY->密码

答案 3 :(得分:0)

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

  

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

XX->主机名

YY->密码

答案 4 :(得分:0)

按照上面的hjiam2所说,但是我不能评论他们的帖子。我误解了“ keys data_column *”的含义,并最终实现了我想要的功能:

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

我想查看的键值很长,因此需要将其放入文件中,然后我可以对它进行任何操作。使用上面的命令可以达到目的。

显然,请确保 键名 是您要查找的内容,并确保 主机 和< strong> 端口 也是正确的。

答案 5 :(得分:0)

这对我有用(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 

答案 6 :(得分:0)

我一直在寻找这个,但没有找到合适的解决方案, 所以我写了一段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!');
      });
    })
  }
})