使用 redis-cli 我连接到特定服务器:
redis-cli -h 10.1.xx.xx
和select 1
然后只是获取一个关键功能的列表:
KEYS data_column*
这将在命令行上打印该列值的列表。但是,有很多值,我想将查询输出保存到文件中。
一般来说,> file_name
在命令之后使用是有效的。但在这种情况下,它不起作用,因为它在 redis 服务器上,虽然是从命令行。如何保存这样的查询结果?
只需使用:
./redis-cli -h 10.1.xx.xx -n 1 keys 'data_column*' >file.txt
echo "keys data_column*" | redis-cli -h 10.1.xx.xx -p xx > file.txt
遵循 hjiam2 上面所说的内容,但我无法评论他们的帖子。我误解了他们所说的“keys data_column*”的意思,最终实现了我想要的:
echo 'GET key_name' | redis-cli -h localhost -p 6379 > key_value.txt
我在一个想要查看的键中有一个很长的值,因此需要将它放入一个文件中,然后我可以用它做任何我想做的事情。使用上面的命令实现了这一点。
显然,请确保key_name是您要查找的内容,并确保主机和端口也正确。
这对我有用(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
使用下面的命令行将所有密钥导出到文件。
./redis-cli -h XX -p YY KEYS "keyname*" >> filedata.txt
XX -> 主机名
YY -> 密码
我一直在寻找这个但是我没有找到合适的解决方案,所以我写了一段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!');
});
})
}
})