我可以将redis-cli与连接URL一起使用吗?

时间:2016-07-08 16:15:54

标签: heroku redis connection-string redis-cli

我习惯psql我可以使用它来连接字符串而不必在不同的参数中打破它,即

psql postgres://<username>:<password>@<host>:<port>

例如,当我从Heroku获得这样的字符串时,这很有用。 我可以使用redis-cli执行类似的操作吗?我想直接向它提供一个连接字符串,例如当我安装Redis插件时作为环境变量存储在Heroku上的连接字符串。那可能吗?我想要使​​用的语法示例:

redis-cli redis://<username>:<password>@<host>:<port>

2 个答案:

答案 0 :(得分:12)

不,目前(v3.2.1)redis-cli不支持URI连接架构。如果需要,您可以在Redis repository

中创建功能或提取请求

<强>更新 -u选项随Redis 4.0发布,请参阅Release notes

答案 1 :(得分:6)

对于那些不能等待下一个Redis版本的人将无法更新他们的redis-cli,我做了一个简单的bash函数,似乎适合我的情况(Heroku)。这将添加到~/.bash_profile~/.bashrc

function redis-url() {
  # Get the first argument as the URL variable
  url=$1
  # Parse and generate the command: redis-cli -h [hostname] -p [port] -a [password]
  cmd=`echo $url | sed 's_redis://\(.*\):\(.*\)@\(.*\):\(.*\)_redis-cli -h \3 -p \4 -a \2_'`
  # Run the command
  $cmd
}

然后我可以在终端中键入以下内容:

redis-url redis://rediscloud:mysupersecurepassword@hostname.com:1234