Cache für Temporärdaten

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Cache für Temporärdaten

Beitrag von cxAlex »

Servus.

Mit diesem Include kann man leicht einen Cache für Temporärdaten in seine Anwendungen integrieren. Der Cache lässt sich optional auf eine Maximalgröße einstellen, für die Daten können optional individuelle Gültigkeitsdauern festgelegt werden. Wird die Maximalgrenze überschritten löscht der Cache die am wenigsten benötigten, bzw. auf die am längste nicht zugegriffenen Daten. Daten die ihr Maximalalter überschritten haben werden ebenfalls gelöscht. Auf die Daten kann mit einer StringID zugegriffen werden.

Für was braucht man das? Für immer wiederkehrende Anfragen, bzw. wiederkehrende Berechnungen (wird eine Datei angefordert die bereits im Cache liegt muss man sie nicht mehr von der Festplatte lesen, ein dynamisch berechnetes Bild mit den selben Parametern wie ein bereits gecachedes muss nicht mehr berechnet werden...).

Einige haben es sicher erkannt, einsetzen werde ich das in ECluster, also z.B. in Servern wo immer wieder dieselben Anfragen kommen kann man das sicher auch brauchen :mrgreen:

Ist mal ne 1. Version, über Bugreports usw. würde ich mich sehr freuen.

Viel Spaß damit, Gruß Alex :D

Download: http://paladiumproject.q-soft.ch/public/misc/Cache.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Gleich mal ein kleines Update:

Der Cache erstellt sich jetzt eine Kopie der Daten, Flushen und Ausmisten des Cache sind nun möglich, einzelne Einträge manuell löschbar. UserDaten für die Einträge, Speichern & Laden in und aus Dateien, Enummerieren aller Einträge im Cache. Und ein paar Performance - Verbesserungen.

Ein neuer Democode liegt bei mit dem gecachedes Datei - Lesen gezeigt wird.

Download im 1. Post

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Speed Optimierungen
  • Zugriffszahl wird beim Freiräumen alter Daten miteinbezogen
  • Auswahl zu löschender Beiträge über Toleranzen regelbar
  • Cache optimierbar, häufig benutze Einträge werden nach vorne verschoben
Democodes wurden erweitert.

Download im 1. Post

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Kleiner BugFix in Cache_Config()
  • Alle Befehle nun ThreadSafe
  • x86 & x64 Cache-Dateien nun untereinander komaptibel
Download im 1. Post

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Antworten