2017-11-14 2 views
0

Ich möchte die Sitzung in Laravis zu redis speichern.Laravel speichern Sitzung zu redis

Ich war zu tun: - Ändern Sie den Sitzungstreiber in 'redis' - mein redis Server ein - und dann diesen Code verwenden $req->session()->put($email, json_encode($user));

Der Code ausgeführt wurde erfolgreich gespeichert. Und es war Laden, um wieder zu entdecken. Aber ich füge einfach den Code zu 1 Funktion hinzu.

Warum die andere Funktion wie Beispiel testing()/check(), auch setex zu redis? Ich setze den Code nicht einmal in diese Funktion.

+0

Ich verstehe jetzt. Warum füllen sie immer die Redis für jede Anfrage. Denn auf meiner Route (meine Laravel-Version ist 5.2), die Middleware-Web bereits enthalten. https://stackoverflow.com/questions/37417593/avoid-remove-web-middleware-in-routes-for-laravel-5-2-31 –

Antwort

0

Sie können Daten speichern in Redis auf diese Weise: -

use Illuminate\Support\Facades\Redis; // add in top of controler before class 
     or 
use Redis; 
//put this in function 
$redis = new Redis(); 
$redis->set('boo','Have beer and relax!') 
$redis->get('boo'); 
0

Sie können nur die Session gesetzt driver Redis (in Ihrer .env-Datei) und verwenden

session(['key', $val]); 

Sitzungswerte zu speichern

und

session('key'); 

, um sie abzurufen

+0

Ja, das war Erfolg. Aber es speichert auch für jede Methode, die von Benutzern getroffen wird. Ich fand, dass, weil 'Web' Middleware. Aber jetzt, wie man die Daten erhält, wenn, wenn ich erhalten möchte, setzt sie auch die Daten neu zu redistieren. Also, wenn meine Daten vorher 6090 Sekunden abgelaufen sind. Nachdem ich getroffen habe (um die Daten zu erhalten), wird es wieder auf 7200 zurückgesetzt (Standard) –