Cacher Klasse zum Zwischenspeichern von Variablen

Howto's zu OTRS Themen. Keine neuen Topics mit Fragen in diesem Forum!
Post Reply
n4rF
Znuny newbie
Posts: 42
Joined: 20 Oct 2006, 16:05
Location: Offenbach am Main

Cacher Klasse zum Zwischenspeichern von Variablen

Post by n4rF »

Servus,

da wir bei uns in der Firma Kunden über LDAP und DB ziehen, ergab sich beim suchen von Kunden bzw. der Anzeige aller Kunden ein Performanceproblem.
Deshalb habe ich einen kleinen Cacher geschrieb, der die Daten unter otrs-home/var/tmp zwischenspeichert. Dadurch konnte ich bei einigen Anfragen die Geschwindigkeit bis um den Faktor 5 steigern.

Zur Cacher-Klasse:

!!! WICHTIG !!!
Das Perl-Module Storable muss installiert sein !
!!! WICHTIG !!!

Folgende Methoden gibt es:
New, Set, Get, Delete, ClearCache

New erzeugt das Cacher-Object und braucht als Parameter ConfigObject und LogObject.

Set erzeugt einen neuen Cache. Als Parameter müssen VarID und Value übergeben werden. VarID dient zur eindeutigen Identifizierung der Datei.

Get holt die Daten wieder aus der Datei und gibt entweder einen Referenz zurück wenn er den Cache gefunden hat oder NULL wenn kein Cache vorhanden ist oder der Timestamp abgelaufen ist.

Delete wird von Set benutzt um Cache-Dateien mit der gleichen VarID zu löschen.

ClearCache löscht den gesamten Cache. Wird im Beispiel benutzt wenn ein Kunde in der Datenbank hinzugefügt oder geändert wird.


Zum Inhalt des Archives:

Config/Files/Cacher.pm : Konfiguration in der die Lebensdauer für den Cache steht

System/Cacher.pm : Die Cacher-Klasse

System/CustomerUser.pm : Beispiel in der die Daten bei CustomerUserSearch und CustomerUserList zwischen gespeichert werden.

System/CustomerUser/DB.pm : Beispiel für ClearCache. Wird in den Methoden CustomerUserAdd und CustomerUserUpdate angewendet.

Bei Anregungen, Fragen oder Fehlern schreibt bitte.
You do not have the required permissions to view the files attached to this post.
Test-System: OTRS 2.1.3, Red Hat 5
Produktiv-System: OTRS 2.1.3 (stark angepasst) CentOS 5.2 im Clusterbetrieb auf zwei Dell PE1950 und MD3000
Post Reply