Redis ist eine leistungsstarke Schlüsselwertdatenbank. Das Aufkommen von Redis kann in manchen Situationen eine sehr gute Ergänzung zu relationalen Datenbanken sein. Andererseits entscheiden sich viele Leute für Redis als Sitzungsspeicher. Es kompensiert die Geschwindigkeit und Effizienz der Dateispeicherung, um eine höhere Verfügbarkeit zu erreichen.
Ändern Sie die Einstellungen von php.ini
session.save_handler = redis
session.save_path ="tcp://127.0.0.1:6379 "
Starten Sie php-fpm nach der Änderung neu und phpinfo() kann sehen, dass die Sitzung in Redis gespeichert ist.
Wenn Sie php.ini nicht ändern möchten, können Sie den Code hinzufügen:
ini_set("session.save_handler","redis");
ini_set("session.save_path ","tcp://127.0.0.1:6379");
Wenn redis.conf ein Verbindungspasswort festlegt (requirepass), muss der save_path der Sitzung wie folgt geändert werden: tcp://127.0.0.1:6379? Der Wert von auth=requirepass.
Wenn Sie Redis-Datenbank wählen, session.save_path = "tcp://xx.xx.xx.xx:6789?database=11" und so weiter.
Den Wert der Redis-Speichersitzung anzeigen:
session_start();
$_SESSION['sessionid']='www. webyang .net';
$redis =new redis();
$redis->connect('127.0.0.1',6379);
//Redis verwendet PHPREDIS_SESSION: session_id als Schlüssel hinzufügen und in Form einer Zeichenfolge speichern
echo $redis->get('PHPREDIS_SESSION:'. session_id());//Ausgabe www.webyang .net
?>
Ich habe im Internet gesehen, dass einige Leute das Problem der Parallelitätskonsistenz in Frage gestellt haben, wenn Redis Sitzungswerte speichert (Dateispeichersitzungen werden durch Dateisperren gehandhabt). aber dazu gibt es keine Forschung.