Quiq::Hash::Persistent - Persistente Hash-Datenstruktur
Quiq::Hash
Definition des Konstruktors in einer abgeleiteten Klasse (in diesem Fall ohne Konstruktorargumente):
package MyClass; use base qw/Quiq::Hash::Persistent/; sub new { my $class = shift; ... return $class->SUPER::new($file,$timeout,sub { my $class = shift; ... return $class->Quiq::Hash::new( ... ); }; }
Die Klasse (hier MyClass) wird von Quiq::Hash::Persistent abgeleitet
Der Konstruktor der Klasse kann eine beliebige Signatur haben
Aus den aktuellen Parametern ergibt sich u.U. der Cache-Dateiname
Der gesamte oder zumindest der "teure" Anteil des Konstruktors wird in der anonymen Subroutine sub{} imlementiert
Die anonyme Subroutine liefert einen Hash der Klasse Quiq::Hash
$h = $class->new($file,$timeout,$sub);
Cachedatei, in der die Hash.Datenstruktur persistent gespeichert wird.
Dauer in Sekunden, die die Cachdatei gültig ist. Falls undef, ist die Cachdatei unbegrenzt lange gültig.
undef
Subroutine, die den zu persistierenden Hash instantiiert.
Referenz auf Hash-Objekt.
Instantiiere einen Hash aus Datei $file und liefere eine Referenz auf dieses Objekt zurück. Existiert Datei $file nicht oder liegt ihr letzter Änderungszeitpunkt mehr als abs($timeout) Sekunden zurück, rufe $sub auf, um den Hash zu erzeugen und speichere ihn persistent in Datei $file. Der Hash wird um die Komponenten
cacheFile
cacheTimeout
erweitert.
$file = $self->cacheFile;
Pfad (String)
Liefere den Pfad der Cachedatei.
$timeout = $self->cacheTimeout;
Anzahl Sekunden (Integer oder undef)
Liefere das für die Cachedatei definierte Timeout.
1.189
Frank Seitz, http://fseitz.de/
Copyright (C) 2020 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.