AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Auf der Suche nach der besten Caching-Lösung
Thema durchsuchen
Ansicht
Themen-Optionen

Auf der Suche nach der besten Caching-Lösung

Ein Thema von Meflin · begonnen am 6. Jan 2007 · letzter Beitrag vom 6. Jan 2007
Antwort Antwort
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 11:23
Moin!

Als kleinen (mehr oder weniger, eher weniger) sinnvollen Gag habe ich vor, meinen zukünftigen Blog-Besuchern das, was bei mir auf dem PC grade so an Musik läuft, per Audio-Stream anzubieten

So weit so schön, habe auch schon einen ShoutCast-Server laufen der das was bei mir in Winamp läuft per aac2+ - Stram bis zu 5 geneigten Hörern in den Äther speist

Ich habe mir auch schon eine kleine PHP-Klasse geschrieben, mit der ich die Daten von ShoutCast-Servern auslesen kann, sodass ich die auf meiner webseite anzeigen kann.

Aber jetzt kommt das Problem... das ganze soll natürlich möglichst schonend für den Web- und den Streamingserver ablaufen und möglichst schnell, damit keine Ladezeitverzögerungen für die Webseitenbesucher entstehen. Andererseits soll aber natürlich auch die Anzeige der Daten möglichst korrekt sein.
Ist der Streaming-Server offline, würde der Ladevorgang momentan 15 Sekunden dauern, so lange ist eben das Timeout

Folglich dachte ich mir, da muss eine caching Lösung her. Nur habe ich mich mit sowas noch nichtmal theoretisch beschäftigt

Wie löst man sowas nun am intelligentesten? Wie würdert ihr das Lösen?

  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 11:26
Wäre das nicht eine öffentlich Aufführung und du müsstes GEMA Gebühren bezahlen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 11:33
Zitat von Luckie:
Wäre das nicht eine öffentlich Aufführung und du müsstes GEMA Gebühren bezahlen?
Steh schon in Kontakt mit denen, das läuft!
Btw sind Sie sehr Off-Topic, Herr Moderator

  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 11:52
Ja, gehört aber auch dazu, wie ich finde. Herr Mitglied.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 11:54
Der Hinweis ist alles andere als OT und die GEMA-Gebühren sind nicht zu unterschätzen. Die letzte Erhöhung hat für viele kleine Internet-Radios das Aus bedeutet.

Sei's drum - wenn Du cachen willst, solltest Du stets nur eine lokale Kopie der Liste auslesen. Die ist stets verfügbar und kostet keine erwähnenswerte Verarbeitungszeit. Was Du dann brauchst, ist ein Script, welches diese lokale Liste regelmäßig - meinetwegen alle 60 Sekunden - aktualisiert.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 12:00
Zitat von Daniel:
wenn Du cachen willst, solltest Du stets nur eine lokale Kopie der Liste auslesen. Die ist stets verfügbar und kostet keine erwähnenswerte Verarbeitungszeit. Was Du dann brauchst, ist ein Script, welches diese lokale Liste regelmäßig - meinetwegen alle 60 Sekunden - aktualisiert.
Hm, ich habe leider nur stinknormalen Webspace, keinen eigenen Server da ist das höchste der Gefühle ein Cronjob der stündlich ausgeführt wird. Das ist natürlich nicht sehr akkurat
Die Aktualisierung dieser Liste müsste also wohl oder übel durch den Webseiten-Besucher ausgelöst werden - das größte Problem das sich mir hier stellt ist wenn der Streaming-Server offline ist, was er ja meistens sein wird. Wie kann ich da die Ladezeiten möglichst gering halten Das ist so das Hauptproblem das ich sehe

  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 12:14
Dann nutze doch einen leicht schmutzigen Trick: Du baust Dir ein PHP-Script, welches ein 1x1 Pixel großes, transparentes GIF-Bild liefert. Dieses Bild baust Du ganz am Ende Deiner Seite ein und hast so Deinen - von Usern ausgelösten - CronJob. Die Seite selbst wird laden und die jeweils zuvor gültige Fassung Deiner Liste anzeigen.

Dein PHP-Script macht natürlich mehr als den Browser mit seinem Bild zu befriedigen: In Deinem Script kannst Du dann selber feststellen, ob es an der Zeit ist, die Liste zu aktualisieren und ggf. entsprechend handeln. Und sollte der Vorgang eben länger dauern, so wird der User praktisch nicht beeinträchtigt, denn das GIF hätte er so oder so nicht gesehen - lediglich der Ladebalken seines Browsers würde noch Aktivität anzeigen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#8

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 12:18
Bei jedem Seitenaufruf wird die Liste (oder der Serverstatus) aus einem File angezeigt. Nun wird kurz geprüft, wann die letzte Aktualisierung stattfand (die schreibst Du auch rein). Dann musst Du Dir zwei gescheite Intervalle ausdenken, wie oft nun wirklich aktualisiert wird, wenn der Server das letzte mal offline war und wann der Server das letzte mal online war. Wenn Musik läuft sind z.B. 1-2 Minuten okay, wenn er offline ist z.B. 10 Minuten.

Nun kommt der Trick: Ist das intervall rum, wird dem User ein JavaScript mitgeschickt, dass den einen Bereich in dem die Anzeige steht nach 20 Sekunden neu lädt - und nur den Bereich (AJAX lässt grüßen). NACH dem Absender der Seite an den User (also wenn der seine Seite schon komplett geladen hat) stößt das Php-Script die Aktualisierung an. Die darf nun ruhig ihre 15 Sekunden dauern und schreibt das Ergebnis in ein File. Der User bekommt die Aktualisierung des Bereichs nach 20 Sekunden nachgeliefert und ist auf dem neuen Stand.

Ergebnis: Der User hängt im Schlimmsten Fall ein Lied hintendran in der Anzeige, und 10 Minuten wenn der Server vorher offline war.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Auf der Suche nach der besten Caching-Lösung

  Alt 6. Jan 2007, 12:51
Danke für eure Tips - das hört sich schonmal ziemlich gut an

Ich wusste doch, auf die DP kann man sich verlassen

  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz