Heim > Artikel > Backend-Entwicklung > Wie kann man die Anzahl der Nachrichten pro Stunde auf einem Message Board zählen, das Redis zum Speichern von Nachrichteninhalten verwendet?
Meine Idee ist, jede Nachricht in einem Hash zu speichern und dann das Feld add_timestamp zu verwenden, um den Zeitstempel der Nachricht aufzuzeichnen, aber jetzt weiß ich nicht, wie ich eine Gruppierung nach-Operation für das Zeitstempelfeld im Hash von durchführen soll Stunde in Redis, oder gibt es einen anderen besseren Weg?
Ich habe nicht vor, sie in MySQL zu speichern, da diese Nachrichten nur einen kurzen Inhalt, aber ein extrem hohes Volumen und eine hohe Häufigkeit haben. Ich sehe, dass Websites wie BAT über Arbeitsauftragsverarbeitungs- und Statistiksysteme verfügen, wie z. B. die Anzahl der pro Stunde eingereichten Arbeitsaufträge oder das Gruppeneinkaufsstatistiksystem von Taobao, mit dem die Verkäufe von Produkten mit extrem hohen Verkäufen pro Sekunde in verschiedenen Zeiträumen gezählt werden. I Ihre Bedürfnisse ähneln wahrscheinlich ihren eigenen.
Meine Idee ist, jede Nachricht in einem Hash zu speichern und dann das Feld add_timestamp zu verwenden, um den Zeitstempel der Nachricht aufzuzeichnen, aber jetzt weiß ich nicht, wie ich eine Gruppierung nach-Operation für das Zeitstempelfeld im Hash von durchführen soll Stunde in Redis, oder gibt es einen anderen besseren Weg?
Ich habe nicht vor, sie in MySQL zu speichern, da diese Nachrichten nur einen kurzen Inhalt, aber ein extrem hohes Volumen und eine hohe Häufigkeit haben. Ich sehe, dass Websites wie BAT über Arbeitsauftragsverarbeitungs- und Statistiksysteme verfügen, wie z. B. die Anzahl der pro Stunde eingereichten Arbeitsaufträge oder das Gruppeneinkaufsstatistiksystem von Taobao, mit dem die Verkäufe von Produkten mit extrem hohen Verkäufen pro Sekunde in verschiedenen Zeiträumen gezählt werden. I Ihre Bedürfnisse ähneln wahrscheinlich ihren eigenen.
kann in Redis gespeichert werden, es wird jedoch empfohlen, das Kapazitätsproblem zu berücksichtigen. Schließlich nutzt Redis nur eine begrenzte Speicherkapazität. Sie können eine Batch-Synchronisierung mit Nosql in Betracht ziehen, z. B. Mongodb, Hbase usw., die relativ neu zum Lesen von Redis sind und häufig darauf zugreifen. Die alte Nachricht lautet nosql und hat weniger Zugriff
Was die Anzahl der Nachrichten pro Stunde angeht, verwenden Sie zum Zählen einfach den Redis-Zähler. Der Schlüssel ist 16.8.13-1, was die erste Stunde des 13. August bedeutet, und der Wert ist die Anzahl der Nachrichten