WebMasterService N3rds@Work

BoniPress Bestenlisten-Caching

PSOURCE Communityhub’s Dokumente PSOURCE Plugins BoniPress BoniPress Bestenlisten-Caching

Beim Generieren von Bestenlisten, insbesondere wenn viele Benutzer oder viele Transaktionen vorhanden sind, kann die Bestenlistenabfrage ressourcenintensiv werden. Du würdest dies hauptsächlich in Form der Bestenliste sehen, deren Laden lange dauert.

Um unnötige Abfragen zu vermeiden, speichert das Plugin die Ergebnisse der Bestenliste zwischen. Dies erfolgt durch Speichern des rohen Leaderboard-Ergebnisses als Gruppen-Metawert. Dies beinhaltet auch eine Benutzerposition in jeder Bestenliste. Anstatt bei jedem Laden einer Seite eine neue Abfrage auszuführen, wird deren Position gespeichert und nur bei Bedarf erneut abgefragt.

Cache leeren

Ein Gruppen-Leaderboard-Cache wird in den folgenden Situationen automatisch gelöscht:

  • Ein Benutzer tritt der Gruppe bei oder verlässt sie.
  • Ein Gruppenmitglied gewinnt oder verliert Punkte (abhängig vom verwendeten Ranglistentyp).
  • Die Einstellungen für das Leaderboard-Plugin werden gespeichert.
  • Ein Administrator speichert das Leaderboard-Setup im Gruppenadministrationsbereich.
  • Ein benutzerdefinierter Punkttyp, der zuvor für Bestenlisten verwendet wurde, wird gelöscht.
Caching-Probleme

Es gibt einige Szenarien, in denen das Zwischenspeichern einige „Probleme“ verursachen kann. Wenn eine Rangliste auf einem Zeitrahmen wie heute, dieser Woche oder diesem Monat basiert, wird der Ranglisten-Cache am Ende jedes Zeitraums nicht geleert. Stattdessen wird es zuerst gelöscht, wenn ein Mitglied Punkte gewinnt oder verliert.

Nehmen wir zum Beispiel an, wir zeigen die heutigen Punktzuwächse in unseren Bestenlisten und es ist ein neuer Tag. Während dieses neuen Tages zeigt die Rangliste die Ergebnisse von gestern an, bis jemand in meiner Gruppe Punkte gewinnt oder verliert oder einer der anderen oben genannten Auslöser auftritt.