Hier speichere ich Daten in Redis mit PHP. Ich habe einen Cron, um einige Daten mit der Zeit zu erhalten. Dieser Cron wird alle 5 Minuten laufen. Hier verwende ich hSet
, um Daten zu speichern.Wie lösche ich Daten von Redis nach 48 Stunden?
$datetime = date("H.i");
$redisforhttp2->hSet(MACHINE.':count',$datetime,$count);
, damit ich Daten erhalten wie diese
[
"13.25": "64",
"14.50": "96",
"14.52": "65",
"14.54": "39",
"14.55": "48",
"14.56": "68",
"15.03": "66",
"15.05": "61",
"15.07": "60",
"15.10": "41",
"15.11": "72",
"15.14": "53"
]
Nach zwei Tagen oder ein paar Tage, wird es eine riesige Masse von Daten. also möchte ich Daten von Redis nach 48 Stunden löschen.
if(strtotime($dateFromDatabase." + 48 hours") <= strtotime("now"))
{
//Deleting data from Redis.
}
Also dachte ich hDel
ist gut für diese. Aber hier ist der Hash-Schlüssel dynamisch (Zeit). Welche ist die robuste Lösung für diesen Fall? Bitte schlage mich vor.
UPDATE
Diese $datetime
für die dynamische grafische Darstellung erzeugt wird. Und hier ist die Zählung HTTP count
.
Warum legen Sie keine Zeitüberschreitung für den Schlüssel fest, wenn Sie die Daten speichern, lassen Sie sie erneut automatisch löschen: '$ redisforthttp2-> expire (MACHINE. ': Count', $ expireTime);' –
ist es zum Generieren eines Graphen. –
Warum setzen Sie es nicht nach 48 Stunden ab? – fedorqui