Connecting to remote redis server

2019-03-14 10:08发布

问题:

I wanted to make some changes in redis.conf, so that whenever i type redis-cli it connects me to redis installed on remote server.

I know that we can connect to redis installed on remote server by :

redis-cli -h 'IP-Address-Of-Server'. 

But actually, I have some bash scripts and in those scripts i have used redis-cli at many place. So instead of replacing redis-cli with redis-cli -h 'IP-Address-Of-Server' in each file, I wanted to somehow change redis configuration, so that by default it connects me to the remote server. I hope it make sense :)

回答1:

Like Tommaso said, this is no good reason to touch the redis conf for this purpose. Instead what you can do is use environment variables to in your bash scripts to execute the command and then use that environment variable wherever you've used redis-cli directly.

For eg. $REDIS_CONNECTION="redis-cli -h "

If at any future point in time, you decide to change the host you want to connect to, its simply a matter of changing the env variables value.

Replacing redis-cli with the environment variable is pretty straightforward with sed in all the files. So that shouldn't be much of a hassle.



回答2:

there is no good reason to touch redis conf for this.

just make a script that wraps redis-cli with the desired parameters to connect to the remote host

eg. create a redis-cli-remotename.sh

#!/bin/sh
redis-cli -h remote.host_name

and give it +x permissions (eg. chmod +x redis-cli-remotename.sh)