编辑:考虑了这个问题之后,真正的问题是,如何使用tls通过node-redis连接到digitalocean的托管Redis?
我可以使用用户名/密码与redisinsight GUI客户端很好地连接,但是不能与nodejs连接。它在同一台计算机上,因此没有防火墙问题。
var redis = require('redis');
var client = redis.createClient(process.env.REDIS_PORT, process.env.REDIS_URL, {no_ready_check: true});
client.auth('password', function (err) {
if (err) {
console.log(err);
return
}
console.log('auth')
});
我很困惑的一件事是在哪里输入用户名?只是“默认”,但是node_redis的文档没有提供在身份验证期间提供用户名的方法。
错误是:AbortError: Redis connection lost and command aborted. It might have been processed.
这是我正在工作的匿名匿名reisinsight连接屏幕。
我如何在node-redis中做同样的事情?
答案 0 :(得分:2)
the docs中所述的npm install
cd ios; pod install; cd../
react-native link
命令:
使用ACL时,命令的单参数形式 仅指定密码的地方,假定隐式用户名是“默认”。
因此,即使您使用支持其他用户的Redis 6,您对AUTH
的身份验证也应能工作。
您看到的错误是由于连接断开造成的,例如您以某种方式失去了与Redis服务器的连接。 default
正在处理以下两种情况之一(或两种):连接超时或重新连接尝试已超过配置中指定的最大数目。我会仔细检查您的连接信息以及Redis服务器的配置方式。
我看到您正在使用TLS,您可能会发现此功能有用:Securing Node Redis
如果要使用其他用户对node-redis客户端进行身份验证,则在使用Redis 6时,必须使用node-redis
,但是在需要删除当前的{{ 1}}命令,因为当前node-redis不支持新命令send_command
。
AUTH