我习惯psql
我可以使用它来连接字符串而不必在不同的参数中打破它,即
psql postgres://<username>:<password>@<host>:<port>
例如,当我从Heroku获得这样的字符串时,这很有用。
我可以使用redis-cli
执行类似的操作吗?我想直接向它提供一个连接字符串,例如当我安装Redis插件时作为环境变量存储在Heroku上的连接字符串。那可能吗?我想要使用的语法示例:
redis-cli redis://<username>:<password>@<host>:<port>
答案 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