web-dev-qa-db-ja.com

接続URLでredis-cliを使用できますか?

私はpsqlに慣れています。これは、さまざまな引数で接続文字列を壊す必要なく、接続文字列を供給することで使用できます。つまり、

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

これは、たとえばHerokuのような文字列がある場合に便利です。 redis-cli? Redisアドオンをインストールするときに環境変数としてHerokuに保存されている接続文字列などの接続文字列を直接フィードしたい。それは可能ですか?使用したい構文の例:

redis-cli redis://<username>:<password>@<Host>:<port>
16

いいえ、現時点(v3.2.1)では、redis-cliはURI接続スキーマをサポートしていません。必要に応じて、 Redisリポジトリ で機能またはプルリクエストを作成できます。

UPDATE:-uオプションはRedis 4.0でリリースされました。 リリースノート を参照してください。

15
Itamar Haber

次のRedisリリースを待てずにredis-cliを更新できない人のために、私のケース(Heroku)で機能するように見える単純なbash関数を作成しました。これは~/.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:[email protected]:1234
7
Bruno A.