2015-05-10 13 views
7

Używam wiązania redis-py w Pythonie 2, aby połączyć się z serwerem Redis. Serwer wymaga hasła. Nie wiem jak AUTH po nawiązaniu połączenia w Pythonie.Polecenie AUTOM Redis w języku Python

Poniższy kod nie działa:

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

Mówi:

obiekt 'StrictRedis' ma atrybut 'auth'

również

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

ma nie działa też. Brak takiego argumentu ze słowem kluczowym.

Używałem wcześniej wiązania Redis w innych językach i zazwyczaj nazwa metody pokrywa się z poleceniem Redis. Zgaduję, że r.auth wyśle ​​AUTH, ale niestety nie ma tej metody.

Jaki jest standardowy sposób na AUTH? Również, dlaczego nazwać to StrictRedis? Co znaczy tutaj Strict?

+3

Wygląda na to, że chodzi raczej o kiepski proces dokumentowania projektu. Na stronie GH i na pypi nie ma wyraźnego linku do oficjalnej dokumentacji. Musiałem go znaleźć, aby znaleźć https://redis-py.readthedocs.org/en/latest/ i https://kushal.fedorapeople.org/redis-py/html/index.html. Oba są automatycznie generowane z kodu. – Pynchia

+0

Jedyne miejsce, w którym wspominają o uwierzytelnianiu, to: 'on_connect() Zainicjuj połączenie, uwierzytelnij i wybierz bazę danych'. Zadaj pytanie i redakcja mówi, że redis-py jest dojrzały i wspierany, do zrobienia. – Pynchia

+0

@Pynchia Dzięki! Dokument rozwiązał go. Proszę znaleźć poniżej. –

Odpowiedz

15

Dzięki wskazówkom z komentarzy. Znalazłem odpowiedź od https://redis-py.readthedocs.org/en/latest/.

Mówi

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) 

Więc AUTH jest w rzeczywistości password przekazany argument słowa kluczowego.

+0

dobrze, dobrze zrobione! Cieszę się, że wskazałem ci właściwy kierunek. – Pynchia

+0

co z nazwą użytkownika? Nie mogę znaleźć nazwy użytkownika w dowolnym miejscu. –

+0

@JustinThomas Jaką nazwę użytkownika? Czy redis ma nazwę użytkownika? Od tego czasu nie używam go. –