如何连接到远程Redis服务器?

时间:2016-11-18 13:54:57

标签: redis

我有远程Redis服务器的URL和PORT。我能够从Scala写入Redis。但是我想通过终端使用expr()或类似的东西连接到远程Redis,以便多次调用redis-serverhget等。(我可以使用本地安装的Redis进行此操作没有任何问题)。

4 个答案:

答案 0 :(得分:120)

redis-cli -h XXX.XXX.XXX.XXX -p YYYY

xxx.xxx.xxx.xxx是IP地址,yyyy是端口

来自我的开发环境的示例

redis-cli -h 10.144.62.3 -p 30000

REDIS CLI COMMANDS

  

主机,端口,密码和数据库默认情况下,redis-cli连接到   服务器在127.0.0.1端口6379.您可以猜到,您可以轻松更改   这使用命令行选项。指定其他主机名或   一个IP地址,使用-h。要设置其他端口,请使用-p。

     

redis-cli -h redis15.localnet.org -p 6390 ping

答案 1 :(得分:18)

使用var data = { "requests": [ { "OptionID": [ { "ID": "A1" } ], "content": { "img": "image" } } ] } json.encode(data) 连接远程Redis服务器有两种方法:

1。单独使用主机和端口作为命令中的选项

redis-cli

如果您的实例受密码保护

redis-cli -h host -p port

例如如果redis-cli -h host -p port -a password 是主机URL,而my-web.cache.amazonaws.com是端口

这将是命令:

6379

如果redis-cli -h my-web.cache.amazonaws.com -p 6379 是主机IP地址,而92.101.91.8是端口:

6379

命令,如果实例受密码redis-cli -h 92.101.91.8 -p 6379 保护:

pass123

2。在命令中使用单个redis-cli -h my-web.cache.amazonaws.com -p 6379 -a pass123 选项

uri
带有用户名和密码的redis-cli -u redis://password@host:port 格式的

命令

uri

例如对于相同的上述主机-端口配置命令为

redis-cli -u redis://username:password@host:port

命令,如果还提供了用户名redis-cli -u redis://pass123@my-web.cache.amazonaws.com:6379

user123

这个详细的答案是给那些想要检查所有选项的人的。 有关更多信息,请查看文档:{​​{3}}

答案 2 :(得分:2)

如果使用密码,我们还需要再传递一个参数

redis-cli -h host -p port -a password

答案 3 :(得分:2)

此命令让我有些困惑的是,如果redis-cli无法使用传递的连接字符串进行连接,它仍然会将您置于redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> shell中,即:

exit

然后,您需要redis-cli才能摆脱困境。我在这里没有特别注意,并不断传递新的 var canvas = document.createElement('canvas'); document.body.appendChild(canvas); // some hotfixes... ( ≖_≖) document.body.style.margin = 0; canvas.style.position = 'relative'; // get canvas 2D context and set him correct size var ctx = canvas.getContext('2d'); resize(); // last known position var pos = { x: 0, y: 0 }; const cvs = document.getElementById("canvas"); cvs.addEventListener('mousedown', getRandomInt); window.addEventListener('resize', resize); document.addEventListener('mousemove', draw); document.addEventListener('mousedown', setPosition); document.addEventListener('mouseenter', setPosition); function getRandomInt() { window.randInt = Math.floor(Math.random() * Math.floor(3)); } // new position from mouse event function setPosition(e) { pos.x = e.clientX; pos.y = e.clientY; } // resize canvas function resize() { ctx.canvas.width = window.innerWidth; ctx.canvas.height = window.innerHeight; } function draw(e) { // mouse left button must be pressed if (e.buttons !== 1) return; var color = ''; switch (window.randInt) { case 1: color = 'green'; break; case 2: color = 'red'; break; case 0: color = 'blue'; break; } ctx.beginPath(); // begin ctx.lineWidth = 3; ctx.lineCap = 'round'; ctx.strokeStyle = color; ctx.moveTo(pos.x, pos.y); // from setPosition(e); ctx.lineTo(pos.x, pos.y); // to ctx.stroke(); // draw it! }命令,想知道为什么该命令未使用我传递的连接字符串。