我有远程Redis服务器的URL和PORT。我能够从Scala写入Redis。但是我想通过终端使用expr()
或类似的东西连接到远程Redis,以便多次调用redis-server
,hget
等。(我可以使用本地安装的Redis进行此操作没有任何问题)。
答案 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连接到 服务器在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服务器有两种方法:
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
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!
}
命令,想知道为什么该命令未使用我传递的连接字符串。