Heim  >  Artikel  >  Datenbank  >  Sprechen Sie kurz über GETBIT und SETBIT in Redis

Sprechen Sie kurz über GETBIT und SETBIT in Redis

藏色散人
藏色散人nach vorne
2021-09-12 16:49:172364Durchsuche

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 GETBITSETBIT的意义并不是非常了解,所以就搜索了一下相关文章。看到一篇介绍GETBITSETBIT 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 Taste

key:   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.

Empfohlenes Lernen: „
Redis-Tutorial

Das obige ist der detaillierte Inhalt vonSprechen Sie kurz über GETBIT und SETBIT in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen