Heim > häufiges Problem > Was nützt Redis

Was nützt Redis

(*-*)浩
Freigeben: 2020-09-17 11:05:59
Original
42974 Leute haben es durchsucht

Die Rolle von Redis: 1. Holen Sie sich die neuesten N-Daten. 3. Stellen Sie die genaue Rush-Zeit ein. 5. Entfernen Sie doppelte Werte Legen Sie den Befehl fest, um ein Anti-Spam-System zu erstellen. 7. Erstellen Sie ein Warteschlangensystem.

Was nützt Redis

Viele Freunde sind verwirrt, nachdem sie Zeit damit verbracht haben, die Redis-Datenbank zu lernen. Sie fühlen sich leer und wissen nicht, was sie tun können, nachdem sie diese Sache gelernt haben Ich habe die Motivation verloren, weiter zu lernen, damit jeder den Weg des Redis-Lernens fortsetzen kann. Ich halte es für notwendig, einen einfachen und praktischen Leitfaden für Redis-Anwendungsszenarien für alle zusammenzustellen.

1. Holen Sie sich die neuesten n-Daten

Damit Freunde es besser verstehen, werde ich es hier anhand von Beispielen erklären.

Beispiel:

现在你在和讯网黄金频道上班,项目经理让你负责每天在频道首页生成一张数据表,来展示1个月内的国际黄金的开盘和收盘价格.如果
我们从mysql数据库中按时间排序取出,固然可以.但是你要考虑和讯网的并发量,和你排序时对资源的一个浪费程度.
Nach dem Login kopieren

Zu diesem Zeitpunkt müssen wir den Listenzugriff von Redis auswählen. Wir wissen, dass Redis eine Warteschlangen-(Listen-)Datenstruktur hat und auch die First-In-First-Out-Eigenschaft hat. In diesem Fall kann ich die neuesten 1-Monats-Daten direkt abrufen. Ein lrange-Befehl kann einfach den Wert des gewünschten Intervalls ermitteln.

2. Holen Sie sich die TOP N-Daten >

Das nächste Beispiel scheint, wenn man sich den Titel ansieht, der ersten Anwendung zu ähneln, es gibt jedoch tatsächlich einige Unterschiede. In Anwendung 1 verwenden wir die First-In-First-Out-Funktion der Liste um entsprechend der Zugriffszeit zuzugreifen. Unser Beispiel besteht darin, die Eigenschaften geordneter Mengen zu verwenden, um praktische Probleme zu lösen Redis-Lernprozess, dann könnte es nicht besser sein. Wir müssen nur eine eindeutige ID für jede APP generieren, sie als Mitglied in der Sammlung verwenden und die Download-Nummer als Mitgliedspunktzahl verwenden Nach der Sortierung nach Größe wird natürlich ein geordneter Satz erstellt. Am Ende liegt es an Ihnen, die oberen N- oder unteren N-Daten zu erhalten Genaue Eilkaufzeit

Eilkauf- und Werbezeit festlegen Diese Technologie ist im Bereich E-Commerce wirklich praktisch

现在你受雇于APPLESTORE,项目经理要求你在商店首页,展示下载量排行前30的APP.
Nach dem Login kopieren

Ja, da die Zeit begrenzt ist, muss sie Zu diesem Zeitpunkt erfahren wir, dass die Gültigkeitsdauer des genannten Schlüssels auf den Zeitstempel des Ablaufzeitpunkts sehr hoch ist Während der Kaufansturm des Benutzers müssen wir die übermittelten Daten nicht unbedingt sofort in unserer Festplattendatenbank speichern. Wenn der Benutzer eine Bestellung aufgibt, erfahren wir, ob der Schlüssel der Aktivität abgelaufen ist Ist der Schlüssel abgelaufen, darf der Benutzer die Bestellung aufgeben und die Bestelldaten werden vorübergehend im Speicher zwischengespeichert. Sobald der Schlüssel abläuft, ist es dem Benutzer untersagt, eine Bestellung aufzugeben. Gleichzeitig können wir so viele gleichzeitige Bestellungen importieren Erstens können wir eine präzise Zeiteinstellung erreichen und zweitens können wir die hohe Parallelität von Eilkäufen bewältigen

现在你在阿里的淘宝事业部上班,领队组长分配你来完成一个限时抢购活动,某商品中午10:00开始进行抢购,1小时后,活动结束.
Nach dem Login kopieren

5. Entfernen Sie doppelte Werte

Entfernen Sie doppelte Werte, es kommt mir bekannt vor, unser MySQL hat keinen eindeutigen Index. Na ja, das möchte ich sagen Der Set-Befehl für Strings in Redis ist nützlicher.

你目前就职的单位是中央全面深化改革领导小组技术顾问办公室,在过去如果全国人民一起选代表,既浪费人力又浪费财力.现在网络技术
发展了,习近平组长交代由你牵头开发点赞选人大平台.
接到这个项目,你是不是很犯难,13亿啊!可能同时集中在某个时间段,点赞,如此大的IO请求.硬盘数据库多少有些力不从心.哎,这个时候
你要运用上我们的内存数据库系统了,redis中对key的增incre,减decr不正适合你的需求么.
Nach dem Login kopieren
Können Sie bei dieser Frage noch an die Strings denken, die wir zuvor über Redis gelernt haben? Wenn wir über den Set-Befehl sprechen, sprechen wir über den Wenn keine anderen Parameter angegeben sind, wird unser Schlüssel erstellt und hinzugefügt. Wenn der Schlüssel bereits vorhanden ist, überschreibt der alte Wert den neuen Wert. Ist es nicht das Modell, das wir brauchen?

6. Verwenden Sie den Set-Befehl, um ein Anti-Spam-System zu erstellen

Viele Freunde waren verwirrt, als sie dieses sahen Wann können Sie Spam bekämpfen, indem Sie den festgelegten Befehl brechen? Hey, Sie sollten einfallsreicher sein, noch größer. Zu diesem Zeitpunkt haben Sie daran gedacht, in XX zu lernen Bildung Hochleistungsarchitekturklasse Mein Schreibtischkollege Xiaochuang hat Ihnen gesagt, dass, wenn wir den Befehl set verwenden, um eine Zeichenfolge zu bearbeiten, dieser Schlüssel nur dann betätigt wird, wenn der Schlüssel übermittelt wird Der Benutzer existiert nicht. Sie gehen ins Internet, laden ein Wörterbuch mit sensiblen Wörtern herunter und stellen es in die Datenbank ein. Nachdem Sie sich die Anleitung von Xiaopang angehört haben, werden Sie erleichtert sein.

7. Verwenden Sie die Befehle „Publish“ und „Subscribe“ in den Befehlen „ABONNIEREN“ und „PUBLISH“, um ein Echtzeit-Nachrichten-Push-System aufzubauen.

你现在在下厨房平台,任职技术兼策划.你准备收集天下美食,苦于不知菜名.网络是有魔力的,人名群众的智慧是无穷的.你准备发动全
国的网友们,为你提供菜名,同时你还不想让大家发出相同菜名.
Nach dem Login kopieren
Sie denken wieder an Xiaopang, den Ihnen Xiaopang am Telefon erzählt hat dass es in redis Abonnement- und Veröffentlichungsfunktionen gibt. Nach der Suche auf der IT-Website zum Selbststudium kann ein Abonnement für verschiedene Benutzermodelle durchgeführt werden Bei der Veröffentlichungsimplementierung kann der Abonnent Push-Nachrichten in Echtzeit empfangen. Obwohl Sie nicht Wang Dachui sind, hätten Sie nie erwartet, dass Redis tatsächlich eine solche Funktion hat.O(∩_∩)O Haha~

8. Bauen Sie ein Warteschlangensystem auf

忙完微博的事,正准备收拾东西去挤地铁的你.突然被组长叫住了.
小明,你虽然完成了微博关注和推送的技术架构.但是这几天又有个新问题出现了.因为FB用不了,微博用户暴增.特别是认证大V的用户越
来越多,就连门口烤红薯的大爷早上还拽着我说,给他整个大V吧,俺不差钱.老板为了缓解认证方面的压力,已经开始收费认证了,但是还是
挡不住这群XX.赶上过节饭点,大V们几乎同时发微博,推送服务器有点压力.你把这个问题解决了,再走吧,晚点回去打车公司报销.然后打
完卡他走了.
Nach dem Login kopieren

“同时发微博”,”同时推送,服务器压力大”.你从电脑中找到了小胖之前发给你的那本redis自学笔记,笔记上说.我们可以将若干个需要执行的事件加入队列,然后按时间的顺序去逐个逐个的执行.这个时候你又想到了一个提高用户互动性的好办法.我能不能让粉丝数目多的大V的微博优先推送呢?毕竟粉丝基数大,影响大,总能搞出一个大新闻.既然这样,我直接使用有序队列不就行了.把一个个大V的微博推送事件ID存入有序队列,同时依据粉丝数给予权重(或说优先级).不就可以达到我们的需求了么.

9. 缓存

这一点大家应该很熟悉了,它可以像memcache一样充当缓存数据库.不过的它的数据类型比memcache多的多,应对场景自然要比memcache丰富的多.比较时髦的用法是,用其来缓存会话哦.

Das obige ist der detaillierte Inhalt vonWas nützt Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage