Redis ist eine In-Memery-Datenbank und ihre Vorteile liegen auf der Hand.
Weitere Informationen finden Sie in der Einführung auf der offiziellen Website. https://redis.io
Es gibt fünf Hauptdatentypen: Zeichenfolgen, Listen, Mengen und Hashes.
Als ich die allgemeinen Befehle des String-Typs lernte, fühlte ich mich in Bezug auf die Anwendungsartikel von GETBIT
和SETBIT
的意义并不是非常了解,所以就搜索了一下相关文章。看到一篇介绍GETBIT
和SETBIT
sehr mächtig einen bestimmten Artikel lesen oder ein Video ansehen.
Wenn es mit einer herkömmlichen MySQL-Datenbank implementiert wird und eine große Anzahl von Benutzern sowie viele Artikel und Videos vorhanden sind, wird die Datenbank stark belastet.
Es wird viel einfacher sein, GETBIT und SETBIT von Redis zu verwenden.
Nehmen wir als Beispiel ein Video. Wir verwenden Bitmap, um aufzuzeichnen, ob Benutzer ein bestimmtes Video angesehen haben. Beispielsweise ist die Tastekey: video:1201 value: 000000...0000
mit dem englischen Namen video+Doppelpunkt+ID des Videos gekennzeichnet. value ist eine Bitmap. Ein Bit hat zwei Möglichkeiten, 0 oder 1. 0 bedeutet nicht angezeigt, 1 bedeutet bereits angezeigt.
Die Position (Offset) repräsentiert die Benutzer-ID. Die 200. Position gibt beispielsweise an, ob der Benutzer mit der Benutzer-ID 200 das Video mit der ID 1201 angesehen hat.
Einstellungen
# SETBIT key offset value SETBIT video:1201 200 1 # 上面的命令就是设置ID为200的用户,已经看过了ID为1201的视频。
Abfrage
# GETBIT key offset GETBIT video:1201 200 # 上面的命令就是查询ID为200的用户是否观看了ID为1201的视频
Natürlich können Sie auch eine Bitmap für jeden Benutzer erstellen. Die Bits in der Bitmap stellen dar, ob ein Video angesehen wurde.
Darüber hinaus wird in dem Artikel auch gezeigt, dass die derzeit sehr beliebten Check-In- oder Login-Datensätze auch mit einem ähnlichen Design umgesetzt werden können.
Verwenden Sie beispielsweise eine Bitmap, um den Anmeldestatus aller Benutzer aufzuzeichnen. Ein Bit in der Bitmap stellt dar, ob sich ein Benutzer an diesem Tag angemeldet hat. 0 bedeutet nicht angemeldet und 1 bedeutet angemeldet.Generieren Sie jeden Tag eine Bitmap.
Durch das Zählen mehrtägiger Bitmaps können Vorgänge wie das Zählen aktiver Benutzer erreicht werden.