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?

Wie kann man die Anzahl der Nachrichten pro Stunde auf einem Message Board zählen, das Redis zum Speichern von Nachrichteninhalten verwendet?

WBOY
WBOYOriginal
2016-08-18 09:16:081264Durchsuche

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.

Antwortinhalt:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn