suchen

Heim  >  Fragen und Antworten  >  Hauptteil

redis – Ist es möglich, die Anmeldefunktion ausschließlich mit Reids zu implementieren?

Überlegen Sie, ob es möglich ist, Benutzerdaten vollständig in Redis zu speichern, anstatt eine SQL-ähnliche Datenbank zu verwenden.

Das erste Problem besteht darin, abzurufen, wann der Benutzer den Benutzernamen und das Passwort eingibt.
Die Verwendung der Tastenbefehle ist absolut unmöglich, es ist schrecklich.

Die vorgesehene Struktur ist wie folgt:

每一个用户数据存储为一个hash类型:
key    user:info:unique-identification(int or uuid)
    hash-key-email:        hash-value-email
    hash-key-cellphone:    hash-value-cellphone
    hash-key-password:     hash-value-password
    hash-key-nickname:     hash-value-nickname
    hask-key-right01:      hash-value-right01
    ……

用hash类型存储email=>unique-identification检索数据
key    email:index
    hash-key-valueOfEmial:        hash-value-unique-identification

用hash类型存储cellphone=>unique-identification检索数据
key    cellphone:index
    hash-key-valueOfCellphone:        hash-value-unique-identification
  1. Bestimmen Sie, ob der Benutzer eine E-Mail-Adresse oder ein Mobiltelefon eingibt

  2. Verwenden Sie den Befehl hget, um die entsprechende eindeutige Identifikation aus den entsprechenden Daten zu erhalten

  3. Wenn hget Daten erhält, verwenden Sie user:unique-identification als Schlüssel, um Benutzerdaten zu erhalten

  4. Vergleichen Sie das Passwort. Wenn die Überprüfung konsistent ist, erstellen Sie die entsprechende Sitzung und die entsprechenden Cookies und die Anmeldung ist abgeschlossen.

Bedenken Sie die Probleme, auf die Sie stoßen werden:
Die Antwortzeit von hget ist akzeptabel. Dies ist viel schneller als der Schlüsselbefehl zum Abrufen. Wir haben noch nicht darüber nachgedacht, ob LUA verwendet werden kann, um die Anmeldeüberprüfung mit einem Zugriff abzuschließen.
Allerdings ist die Datenspeicherung zu einem weiteren Problem geworden, das schwer zu lösen ist. Bei 10 Millionen Benutzern sind es nur zwei Abrufdaten etwa 2G Daten.

Bitte sagen Sie mir, ob es eine vernünftigere Struktur zur Lösung dieses Problems gibt. Ich freue mich auf kompetente Beratung.

習慣沉默習慣沉默2765 Tage vor705

Antworte allen(1)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-05-31 10:33:28

    个人认为,用redis存储肯定不合理,但是是可行的。

    Antwort
    0
  • StornierenAntwort