phpbar.de logo

Mailinglisten-Archive

[php] Automatisierte =?iso-8859-1?Q?L=F6schung?= von =?iso-8859-1?Q?Datens=E4tzen?=

[php] Automatisierte =?iso-8859-1?Q?L=F6schung?= von =?iso-8859-1?Q?Datens=E4tzen?=

Ulf Wendel UW_(at)_NetUSE.DE
Wed, 23 Feb 2000 13:12:52 +0100


Dietmar Winhold wrote:
> ich bin dabei eine Anzeigenboerse zu programmieren. Es stellt sich nun die
> Frage, wie man Anzeigen nach einem gewissen Zeitraum (z.B. nach 4 Wochen)
> automatisch löschen kann, bzw. den Status zur Veröffentlichung auf '0'
> setzen kann?

Falls die Anzahl der Anfragen nicht zu hoch ist, ist es
vertretbar, daß bei jedem Neueintrag eine garbage collection
aufgerufen wird. Diese muß nicht bei jedem Aufruf arbeiten,
sondern zufalls- oder zeitgesteuert nur bei jedem n-ten Aufruf. 

function GarbageCollection( $probability = 30) {

  srand((double)microtime()*1000000
  if ($probability != rand(0, $probability)) 
    return;

  $query = sprintf("delete from meinetabelle where datum<%s " ...
}

Für kleine Datenmengen wurde jedoch bereits ein eleganterer
Vorschlag gemacht. Speichere ein Ablaufdatum und starte die
garbage collection von Hand - egal ob per Skript, per cron oder
auf der Kommandozeile alle x Monate.

Ulf

-- 
Ulf Wendel
NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany
Fon: +49 431 386435 00  --  Fax: +49 431 386435 99


php::bar PHP Wiki   -   Listenarchive