Heim  >  Artikel  >  Backend-Entwicklung  >  Temporäre Sitzungsdateien und Cache-Anweisungen in PHP

Temporäre Sitzungsdateien und Cache-Anweisungen in PHP

伊谢尔伦
伊谢尔伦Original
2017-04-28 16:44:054025Durchsuche

1. Temporäre Sitzungsdateien

Wenn auf dem Server alle Benutzersitzungen im temporären Verzeichnis gespeichert werden, verringert sich die Sicherheit der Aufgrund der Effizienz des Servers ist das Öffnen einer auf dem Server gespeicherten Site sehr langsam. Unter Windows werden die Standard-Sitzungsserverdateien von PHP in C:WINDOWSTemp gespeichert. Wenn der gleichzeitige Zugriff groß ist oder zu viele Sitzungen erstellt werden, befindet sich eine große Anzahl von Sitzungsdateien ähnlich wie sess_xxxxxx im Verzeichnis Verursacht Leistungseinbußen und kann aufgrund von Angriffen zu Dateisystemfehlern führen. Für diese Situation bietet PHP selbst eine bessere Lösung. In PHP kann die Verwendung der Funktion session_save_path() dieses Problem lösen.

Die Verwendung der PHP-Funktion session_save_path() zum Speichern temporärer Sitzungsdateien kann das Problem der verringerten Servereffizienz und des langsamen Öffnens der Website lindern, das durch die Speicherung temporärer Dateien verursacht wird:

<?php
$path = &#39;./tmp/&#39;;         //设置 session 存储路径
session_save_path($path);
session_start();
$_SESSION[&#39;username&#39;] = true;
?>

Hinweis: Die Funktion session_save_path() sollte vor der Funktion session_start() aufgerufen werden.

2. Sitzungs-Caching

Sitzungs-Caching dient dazu, den Inhalt der Webseite vorübergehend im Ordner „Temporäre Internetdateien“ des Clients zu speichern. und kann die Cache-Zeit festlegen. Wenn Sie eine Webseite zum ersten Mal durchsuchen, wird ein Teil des Inhalts der Seite innerhalb eines bestimmten Zeitraums vorübergehend im temporären Ordner des Clients gespeichert. Auf diese Weise können Sie beim nächsten Besuch dieser Seite direkt darauf zugreifen Lesen Sie den Inhalt im Cache und verbessern Sie so die Effizienz beim Surfen auf der Website.

Funktion des Sitzungscache

(1) Reduzieren Sie die Häufigkeit des Datenbankzugriffs. Offensichtlich können Anwendungen persistente Objekte schneller aus dem Cache lesen, als sie Daten aus der Datenbank abrufen können.

(2) Wenn eine zyklische Beziehung zwischen persistenten Objekten im Cache besteht, stellt Session sicher, dass es beim Zugriff auf das Objektdiagramm keine Endlosschleife und keinen durch die Endlosschleife verursachten JVM-Stack-Überlauf gibt.

(3) Stellen Sie sicher, dass die relevanten Datensätze in der Datenbank mit den Datensätzen im Cache synchronisiert sind. Wenn die Sitzung den Cache löscht, führt sie automatisch eine Überprüfung auf fehlerhafte Daten (Dirty-Check) durch. Wenn festgestellt wird, dass das Objekt im Sitzungscache nicht mit dem entsprechenden Datensatz in der Datenbank übereinstimmt, wird die Datenbank entsprechend aktualisiert Neueste Objektattribute.

Der Sitzungscache verwendet die Funktion session_cache_limiter(), deren Syntaxformat wie folgt ist:

session_cache_limiter(cache_limiter)

Der Parameter Cache_Limiter ist öffentlich oder privat. Gleichzeitig bedeutet Sitzungs-Caching nicht das Caching auf der Serverseite, sondern auf der Clientseite. Die Cache-Zeiteinstellung

wird nicht auf dem Server angezeigt. Die Funktion session_cache_expire() wird verwendet und ihr Syntaxformat lautet wie folgt:

session_cache_expire(new_cache_expire);

Der Parameter „cache_expire“ ist die Sitzungs-Cache-Zeit in Minuten.

Hinweis: Diese beiden Session-Cache-Funktionen müssen vor der Funktion session_start() aufgerufen werden, andernfalls tritt ein Fehler auf.

Das Folgende ist ein Beispiel für den Prozess der Sitzungs-Caching-Seiten. Der implementierte Code lautet wie folgt:

<?php
 session_cache_limiter(&#39;private&#39;);
 $cache_limit = session_cache_limiter();    //开启客户端缓存
 session_cache_expire(30);
 $cache_expire = session_cache_expire();    //设定客户端缓存时间
 session_start();
?>

Das obige ist der detaillierte Inhalt vonTemporäre Sitzungsdateien und Cache-Anweisungen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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