Heim >Backend-Entwicklung >PHP-Tutorial >Umgang mit Produktklicks
Egal wie oft derselbe Benutzer auf ein bestimmtes Produkt klickt, es wird nur als 1 gezählt und die Anzahl der Klicks auf das Produkt wird in Echtzeit gezählt.
So erreichen Sie die optimale Lösung Diese Situation
Was mir jetzt einfällt, ist, einfach den Datentyp redis
set
zu verwenden und redis
zu verwenden, um ihn bei jedem Klick zu speichern, da set
nicht wiederholt werden kann, also einfach SCARD
und Die Gesamtmenge wird berechnet und nach einiger Zeit in der Datenbank gespeichert. Wenn jedoch in Zukunft große Datenmengen vorhanden sind, wird dies viel Speicher beanspruchen.
Warte einfach!!!
Egal wie oft derselbe Benutzer auf ein bestimmtes Produkt klickt, es wird nur als 1 gezählt und die Anzahl der Klicks auf das Produkt wird in Echtzeit gezählt.
So erreichen Sie die optimale Lösung Diese Situation
Was mir jetzt einfällt, ist, einfach den Datentyp redis
set
zu verwenden und redis
zu verwenden, um ihn bei jedem Klick zu speichern, da set
nicht wiederholt werden kann, also einfach SCARD
und Die Gesamtmenge wird berechnet und nach einiger Zeit in der Datenbank gespeichert. Wenn jedoch in Zukunft große Datenmengen vorhanden sind, wird dies viel Speicher beanspruchen.
Warte einfach!!!
Wenn Sie nicht sehr genau sein müssen und nicht wissen müssen, welche Benutzer die Produkte durchsucht haben, können Sie HyperLogLog in Betracht ziehen
pfadd shop:{$good_id} user:{$user_id}
Außerdem muss die phpredis-Erweiterung auf 2.2.7 aktualisiert werden, bevor sie verwendet werden kann
<code class="php">$redis->pfadd("key", array( $element1, $element2, ..., $elementN) );</code>
Verwandte Referenzmaterialien: Redis-Kardinalitätsstatistiken – Der kleine Speicher und die große Verwendung von HyperLogLog
Wie groß darf es sein? Gibt es kein Ein- und Aussteigen? Ist es nicht wirklich möglich, eine Maschine hinzuzufügen?
Es gibt Ein- und Ausgänge, bürsten Sie die Daten in die Datenbank ein und speichern Sie die Zahlen. Gleichzeitig können Sie die Klickbeziehung der Produkte des Benutzers speichern und beim nächsten Ausgehen überprüfen.