Heim > Datenbank > Redis > Hauptteil

Welche Art von Datenbank ist Redis?

silencement
Freigeben: 2019-06-04 16:02:28
Original
4397 Leute haben es durchsucht

Welche Art von Datenbank ist Redis?

Was ist Redis?

Redis ist eine NoSQL-Datenbank (nicht nur SQL, nicht nur SQL), ins Chinesische übersetzt heißt sie nicht relational Datenbank.

1. Was ist nosql?

NoSQL ist im Allgemeinen nicht-relationales SQL und kann eine gute Ergänzung zu relationalen Datenbanken sein. . Mit dem Aufkommen von Internet-Web2.0-Websites sind nicht-relationale Datenbanken mittlerweile zu einem äußerst beliebten neuen Bereich geworden, und nicht-relationale Datenbankprodukte entwickeln sich sehr schnell. Die traditionelle relationale Datenbank war nicht in der Lage, Web2.0-Websites zu bewältigen, insbesondere sehr große und hochgradig gleichzeitige, rein dynamische Web2.0-Websites vom SNS-Typ, was viele unüberwindbare Probleme aufdeckte, wie zum Beispiel:

1 , Hohe Leistung – die Notwendigkeit eines hohen gleichzeitigen Lesens und Schreibens der Datenbank

Web2.0-Websites müssen dynamische Seiten generieren und dynamische Informationen in Echtzeit basierend auf vom Benutzer personalisierten Informationen bereitstellen, daher ist es grundsätzlich unmöglich, dynamische Seiten zu verwenden Seitenstatisierungstechnologie, also Die gleichzeitige Belastung der Datenbank ist sehr hoch und erreicht oft Zehntausende Lese- und Schreibanforderungen pro Sekunde. Die relationale Datenbank kann Zehntausende SQL-Abfragen kaum aushalten, aber wenn es um Zehntausende SQL-Schreibdatenanforderungen geht, kann die Festplatten-E/A dies nicht mehr ertragen. Tatsächlich besteht für gewöhnliche BBS-Websites oft ein Bedarf an einer hohen Anzahl gleichzeitiger Schreibanforderungen, wie z. B. Echtzeitstatistiken des Online-Benutzerstatus der Website, Aufzeichnung der Anzahl der Klicks auf beliebte Beiträge, Stimmenzählung usw., also dies ist eine recht häufige Forderung.

2. Riesiger Speicher – der Bedarf an effizienter Speicherung und Zugriff auf riesige Datenmengen

SNS-Websites wie Facebook, Twitter und Friendfeed generieren jeden Tag enorme Mengen an Benutzeraktivitäten, wobei Friendfeed der Hauptgrund ist Beispielsweise gibt es 250 Millionen Benutzeraktualisierungen in einem Monat. Für eine relationale Datenbank ist die Durchführung von SQL-Abfragen in einer Tabelle mit 250 Millionen Datensätzen äußerst ineffizient oder sogar unerträglich. Ein weiteres Beispiel ist das Benutzeranmeldesystem großer Websites wie Tencent und Shanda, das oft über Hunderte Millionen Konten verfügt und auch mit relationalen Datenbanken schwer zurechtzukommen ist.

3. Hohe Skalierbarkeit und hohe Verfügbarkeit – Anforderungen an eine hohe Skalierbarkeit und hohe Verfügbarkeit der Datenbank

In einer webbasierten Architektur ist es am schwierigsten, die Datenbank horizontal zu erweitern Da die Anzahl der Benutzer und Besuche des Anwendungssystems von Tag zu Tag zunimmt, kann Ihre Datenbank ihre Leistung und Ladekapazität nicht einfach durch das Hinzufügen weiterer Hardware- und Serviceknoten wie Webserver und App-Server erweitern. Für viele Websites, die rund um die Uhr ununterbrochene Dienste bereitstellen müssen, ist es sehr mühsam, das Datenbanksystem zu aktualisieren und zu erweitern, was häufig Ausfallzeiten, Wartung und Datenmigration erfordert. Warum kann die Datenbank nicht durch kontinuierliches Hinzufügen von Serverknoten erweitert werden?

NoSQL-Datenbanken wurden erstellt, um die Herausforderungen zu lösen, die große Datensammlungen und mehrere Datentypen mit sich bringen, insbesondere Probleme bei Big-Data-Anwendungen.

Vier Hauptkategorien von NoSQL-Datenbanken

Schlüsselwertspeicherdatenbank

Verwandte Produkte: Tokyo Cabinet/Tyrant, Redis, Voldemort, Berkeley DB Typische Anwendungen: Inhaltscaching, wird hauptsächlich zur Bewältigung hoher Zugriffslasten großer Datenmengen verwendet. Datenmodell: Eine Reihe von Schlüssel-Wert-Paaren Vorteile: Schnelle Abfrage Nachteile: Den gespeicherten Daten fehlt eine strukturierte Spaltenspeicherdatenbank

Verwandte Produkte: Cassandra, HBase, Riak Typische Anwendungen: Verteiltes Dateisystem Datenmodell: Spaltenbasiert Clustered Storage speichert Daten in derselben Spalte. Vorteile: schnelle Suchgeschwindigkeit, starke Skalierbarkeit und einfachere verteilte Erweiterung Anwendungen: Webanwendungen (ähnlich wie Schlüsselwert, Wert ist strukturiert) Datenmodell: Eine Reihe von Schlüssel-Wert-Paaren Vorteile: Die Anforderungen an die Datenstruktur sind nicht streng. Nachteile: Die Abfrageleistung ist nicht hoch und es fehlt eine einheitliche Abfragesyntax

Diagrammdatenbank

Verwandte Datenbanken: Neo4J, InfoGrid, Infinite Graph Typische Anwendungen: Datenmodell für soziale Netzwerke: Vorteile der Diagrammstruktur: Verwenden Sie Algorithmen, die sich auf die Diagrammstruktur beziehen. Nachteile: Um das Ergebnis zu erhalten, muss das gesamte Diagramm berechnet werden, und es ist nicht einfach, eine verteilte Clusterlösung zu implementieren.

3. Redis-Grundlagen

Redis speichert Daten im Speicher und wird häufig in Internetprojekten verwendet Offiziell beträgt die Lesegeschwindigkeit 300.000 Mal pro Sekunde und die Schreibgeschwindigkeit liegt bei etwa 100.000 Mal pro Sekunde. Die spezifischen Einschränkungen sind auf die Hardware beschränkt. Nachteile: Die Persistenzunterstützung ist nicht gut genug.

Daher wird Redis im Allgemeinen nicht als Hauptdatenbankspeicher für Daten verwendet, sondern im Allgemeinen in Verbindung mit herkömmlichen relationalen Datenbanken.

Redis ist ein Open-Source-Hochleistungs-Schlüssel-Wert-Paar (. Schlüsselwert-Datenbank. Es passt sich den Speicheranforderungen in verschiedenen Szenarien an, indem es eine Vielzahl von Schlüsselwert-Datentypen bereitstellt, die bisher von Redis wie folgt unterstützt werden:

String-Typ, Hash-Typ, Listentyp, Sammlungstyp

4. Anwendungsszenarien von Redis

Caching (Datenabfrage, Kurzverbindung, Nachrichteninhalt, Produktinhalt usw.). (Am häufigsten verwendet) Sitzungstrennung in verteilter Clusterarchitektur. Online-Freundesliste des Chatrooms. Aufgabenwarteschlange. (Flash Sale, Rush Sale, 12306 usw.) Anwendungsrankings. Website-Besuchsstatistiken. Datenablaufverarbeitung (auf Millisekunden genau)

Das obige ist der detaillierte Inhalt vonWelche Art von Datenbank ist 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