2

我正在使用 redis 客户端进行旋风分离。

不用密码就可以连接到服务器真是太好了,但是我怎样才能用密码连接到 redis?如何修改以下代码以进行身份​​验证?

t = cyclone.redis.lazyConnectionPool(host,port,db)

@cyclone.web.asynchronous
def on_finish(self):

    t = yield tt.multi()
    yield t.set('key', 'value')
    r = yield t.commit()
    print "commit=", repr(r)

谢谢

4

2 回答 2

1

旋风 redis 客户端有一个auth方法,您可以发送密码到,已将密码设置在redis.conf

def auth(self, password):
    """
    Simple password authentication if enabled
    """
    return self.execute_command("AUTH", password)

但是在使用 redis auth 之前要非常小心。它并不是真正被认为是安全的(按设计),并且应该主要用于保护实例免受导致客户端连接到错误数据库的配置错误,而不是作为一种安全方法。

来自 redis 配置文档:

# This should stay commented out for backward compatibility and because most
# people do not need auth (e.g. they run their own servers).
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
于 2012-05-14T10:52:04.087 回答
0

cyclone 中的 redis 驱动程序是txredisapi,它确实支持身份验证(以及许多其他功能)。这里提到:https ://github.com/fiorix/txredisapi/blob/master/README.md#authentication

但是,它不能很好地与自动重新连接一起使用,因为该Connection方法中没有实现身份验证。这意味着它不会在重新连接后自动重新验证。

它可以实现,但人们似乎没有使用它。

于 2012-06-11T06:13:47.677 回答