2011-11-10 87 views
3

当我将echo传递给redis客户端时,出现错误。将数据传输到redis

[[email protected] ~]$ echo "abc43345" | redis-cli set my_passwd2 
(error) ERR wrong number of arguments for 'set' command 

但是,以下按预期工作。

[[email protected] ~]$ redis-cli set my_passwd2 `echo "abc43345"` 
OK 

有没有办法让第一个例子工作?

+1

'redis的-cli'期待在命令行上的参数,而不是在'stdin'来实现。用很多其他命令行应用程序来做到这一点的方法是指定一个短划线'-',表示该命令行参数应该从'stdin'中读取。我不知道'redis-cli'是否支持,并且现在没有安装它来检查。 –

回答

8

它可以实际使用 “-x” 标志

echo "abc43345" | redis-cli -x set my_passwd2

+0

redis-cli --pipe也是一个选项。请参阅:http://redis.io/topics/mass-insert – Homer6