2015-05-10 75 views
7

我在Python 2中使用redis-py綁定來連接到我的Redis服務器。服務器需要密碼。在Python中建立連接後我不知道如何AUTHPython中的Redis AUTH命令

下面的代碼不起作用:

import redis 
r = redis.StrictRedis() 
r.auth('pass') 

它說:

'StrictRedis' 對象有沒有屬性 '權威性'

此外,

r = redis.StrictRedis(auth='pass') 

確實不工作。沒有這種關鍵字參數。

我以前在其他語言中使用Redis綁定,通常方法名稱與Redis命令一致。所以我想r.auth會發送AUTH,但不幸的是它沒有這個方法。

那麼標準方式AUTH是什麼?另外,爲什麼稱這個StrictRedisStrict是什麼意思?

+3

看起來好像是在記錄這個項目上花費很少的精力。在GH頁面和pypi上,沒有明確的官方文檔鏈接。我不得不穀歌它找到https://redis-py.readthedocs.org/en/latest/和https://kushal.fedorapeople.org/redis-py/html/index.html。兩者都是從代碼自動生成的。 – Pynchia

+0

他們提到身份驗證的唯一地方是:'on_connect() 初始化連接,驗證並選擇數據庫'。 Ask andymccurdy,Redis說redis-py已經成熟並且得到了支持,這是一條走向。 – Pynchia

+0

@Pynchia謝謝!該文件解決了它。如下請見。 –

回答

15

感謝評論提示。我從https://redis-py.readthedocs.org/en/latest/找到了答案。

它說

class redis.StrictRedis(host='localhost', port=6379, db=0, password=None, socket_timeout=None, connection_pool=None, charset='utf-8', errors='strict', unix_socket_path=None) 

所以AUTH是通過關鍵字參數傳遞事實password

+0

不錯,幹得好!我很高興我指出你正確的方向。 – Pynchia

+0

用戶名呢?我無法在任何地方找到用戶名。 –

+0

@JustinThomas用戶名是什麼? Redis是否有用戶名?自那以後我就沒有用過它。 –