Heim  >  Artikel  >  Backend-Entwicklung  >  So ersetzen Sie eine PHP-Sitzung durch Cache und Cookies

So ersetzen Sie eine PHP-Sitzung durch Cache und Cookies

WBOY
WBOYOriginal
2016-12-01 00:56:581368Durchsuche

Das Sitzungskonzept existiert nicht mehr in dem PHP 7-Entwicklungsframework, das ich selbst geschrieben habe

Ich möchte, dass Benutzer Caching + Cookies verwenden, um das Problem zu lösen

Eigentlich möchte ich wissen, einfach die Benutzeranmeldung beibehalten

Verwenden Sie Cookies, um den Speicher symmetrisch zu verschlüsseln, und verwenden Sie dann PHP, um die Tabelle zu entschlüsseln und nachzuschlagen
Es gibt eigentlich keinen wesentlichen Unterschied zwischen dem Aufzeichnen der Benutzer-UID in der Sitzung und dem anschließenden Nachschlagen der Tabelle

Exkurs

Cookies speichern das gehashte Passwort und den Benutzernamen des Benutzers. Es ist nicht unmöglich, jedes Mal eine Anmeldung zu simulieren

Tatsächlich sollten Datenbank- oder zwischengespeicherte Daten mit der Praktikabilität einer Sitzung vergleichbar sein

Schließlich verfügt die Sitzung über einen Wiederherstellungsmechanismus. Wenn sich täglich 100.000 Personen auf der Website anmelden, kann der durch den Sitzungsmechanismus verursachte E/A-Engpass schwerwiegender sein als der Datenbankengpass.

Noch ein Exkurs

In Bezug auf die Warenkorb-Implementierung ist es tatsächlich möglich, den Cache
Schlüsselwert
Benutzer-ID direkt aufzurufen

Verwenden Sie die Tabellensuche oder Cache-Suche für detailliertere Produktinformationen Format ist auch eine ziemlich gute Wahl

Ich hoffe, ihr könnt mir sagen, welchen Sinn es hat, weiterhin Session zu verwenden, da es so zufällig und unzuverlässig ist

Antwortinhalt:

Das Sitzungskonzept existiert nicht mehr in dem PHP 7-Entwicklungsframework, das ich selbst geschrieben habe

Ich möchte, dass Benutzer Caching + Cookies verwenden, um das Problem zu lösen

Eigentlich möchte ich wissen, einfach die Benutzeranmeldung beibehalten

Verwenden Sie Cookies, um den Speicher symmetrisch zu verschlüsseln, und verwenden Sie dann PHP, um die Tabelle zu entschlüsseln und nachzuschlagen
Es gibt eigentlich keinen wesentlichen Unterschied zwischen dem Aufzeichnen der Benutzer-UID in der Sitzung und dem anschließenden Nachschlagen der Tabelle

Exkurs

Cookies speichern das gehashte Passwort und den Benutzernamen des Benutzers. Es ist nicht unmöglich, jedes Mal eine Anmeldung zu simulieren

Tatsächlich sollten Datenbank- oder zwischengespeicherte Daten mit der Praktikabilität einer Sitzung vergleichbar sein

Schließlich verfügt die Sitzung über einen Wiederherstellungsmechanismus. Wenn sich täglich 100.000 Personen auf der Website anmelden, kann der durch den Sitzungsmechanismus verursachte E/A-Engpass schwerwiegender sein als der Datenbankengpass.

Noch ein Exkurs

In Bezug auf die Warenkorb-Implementierung ist es tatsächlich möglich, den Cache
Schlüsselwert
Benutzer-ID direkt aufzurufen

Verwenden Sie die Tabellensuche oder Cache-Suche für detailliertere Produktinformationen Format ist auch eine ziemlich gute Wahl

Ich hoffe, ihr könnt mir sagen, welchen Sinn es hat, weiterhin Session zu verwenden, da es so zufällig und unzuverlässig ist

1. Legen Sie keine Informationen wie Benutzerkennwörter in Cookies ab, auch wenn diese verschlüsselt sind.
2. Da Sie Caching verwenden müssen, ist es besser, direkt zu den Produktinformationen von Redis zu gehen und den Warenkorb des Benutzers in der Hash-Tabelle von Redis abzulegen

Kein Problem, das bedeutet erholsam.

Aus Bequemlichkeitsgründen verwende ich immer noch Session

Oh, und überprüfen Sie nicht jedes Mal die Tabelle, wenn Sie eine Anmeldung simulieren. Es ist besser, Redis oder etwas anderes zu verwenden, um die kürzlich angemeldeten Benutzerinformationen zu speichern

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn