使用redis-cli我连接到特定服务器:
redis-cli -h 10.1.xx.xx
select 1
然后只是获取一个关键功能的列表:
KEYS data_column*
这将在命令行上打印该列值的列表。但是,有很多值,我想将查询输出保存到文件。
通常,在命令工作后使用> file_name
。但在这种情况下,它在redis服务器上不起作用,但是从命令行开始。如何保存这样的查询结果?
答案 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!');
});
})
}
})