Wo kann Redis angewendet werden? In diesem Artikel werden Ihnen 16 gängige Verwendungsszenarien von Redis auf einmal vorgestellt. Ich hoffe, er ist für alle hilfreich!
【Verwandte Empfehlung: Redis-Video-Tutorial】
String-Typ
Zum Beispiel: Hot-Data-Cache (wie Berichte, Promi-Betrug), Objekt-Cache, Ganzseiten-Cache, was kann Verbessern Sie die Hot-Data-Zugriffsdaten.
String-Typ, da Redis ein verteilter unabhängiger Dienst ist, der von mehreren Anwendungen gemeinsam genutzt werden kann
Zum Beispiel: verteilte Sitzung
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
Setnx-Methode vom Typ String Wird nur dann erfolgreich hinzugefügt, wenn es nicht vorhanden ist. Es wird true zurückgegeben Abschnitt auf einmal
int-Typ, Inkr-Methode
Zum Beispiel: die Anzahl der gelesenen Artikel, die Anzahl der Weibo-Likes, eine gewisse Verzögerung einplanen, zuerst in Redis schreiben und dann regelmäßig mit der Datenbank synchronisieren
6. Aktuelles Limit
verwendet die IP-Adresse des Besuchers und andere Informationen. Bei jedem Besuch wird die Anzahl erhöht.
String Typ Bitcount (Einführung in die Bitmap-Datenstruktur in 1.6.6)
public static boolean getLock(String key) { Long flag = jedis.setnx(key, "1"); if (flag == 1) { jedis.expire(key, 10); } return flag == 1; } public static void releaseLock(String key) { jedis.del(key); }
Zum Beispiel: Online-Benutzerstatistiken, gespeicherte Benutzerstatistiken
set k1 a setbit k1 6 1 setbit k1 7 0 get k1 /* 6 7 代表的a的二进制位的修改 a 对应的ASCII码是97,转换为二进制数据是01100001 b 对应的ASCII码是98,转换为二进制数据是01100010 因为bit非常节省空间(1 MB=8388608 bit),可以用来做大数据量的统计。 */
Unterstützt bitweise UND-, bitweise ODER- usw. Operationen
setbit onlineusers 01 setbit onlineusers 11 setbit onlineusers 20
BITOPANDdestkeykey[key...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。 BITOPORdestkeykey[key...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。 BITOPXORdestkeykey[key...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。 BITOPNOTdestkeykey ,对给定 key 求逻辑非,并将结果保存到 destkey 。
8. Warenkorb
String oder Hash. Alle Hashes, die mit String durchgeführt werden können, können durchgeführt werden
Schlüssel: Benutzer-ID; Feld: Produkt-ID Wert: Produktmenge.
Liste, eine doppelt verknüpfte Liste, kann direkt als Zeitleiste verwendet werden. Einfügereihenfolge
kommt mit einem zufälligen Get-Wert
BITOP "AND" "7_days_both_online_users" "day_1_online_users" "day_2_online_users" ... "day_7_online_users"
Likes: Narbe wie:t1001
Ist es nicht viel einfacher als die Datenbank?
13. Produkt-Tagsspop mysetAngenommen: iPhone11 ist auf dem Markt
// 获取差集 sdiff set1 set2 // 获取交集(intersection ) sinter set1 set2 // 获取并集 sunion set1 set2Die für den Wettbewerb ausgewählten Produkte stammen von Apple und iOS, mit Bildschirmen zwischen 6.0 und 6.24. Das Bildschirmmaterial ist LCD-Bildschirm
sadd brand:apple iPhone11 sadd brand:ios iPhone11 sad screensize:6.0-6.24 iPhone11 sad screentype:lcd iPhone 11
15 Folge einander:
Die Leute, denen ich folge, folgen ihm auch (Kreuzung nehmen):
sinter 1:folge 2:fans
Leute, die du vielleicht kennst:id 为6001 的新闻点击数加1:
zincrby hotNews:20190926 1 n6001
获取今天点击最多的15条:
zrevrange hotNews:20190926 0 15 withscores
Redis 用的好,加薪少不了
原文地址:https://juejin.cn/post/6994229128534687781
作者:码猿技术专栏
更多编程相关知识,请访问:编程视频!!
Das obige ist der detaillierte Inhalt vonWo kann Redis eingesetzt werden? 16 gemeinsame Nutzungsszenarien geteilt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!