Design Redis Datenbank-Tabelle wie SQL?
Nehme an, meine Datenbank-Tabelle Struktur ist wie diese
id name college address
1 xxx nnn xn
2 yyy nnm yn
3 zzz nnz zn
Wenn ich will, um die Schüler-details basierend auf dem Namen in sql wie diese
select * from student where name = 'xxx'
so, wie Ihr möglich ist in redis Datenbank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Redis, wie bei anderen NoSQL-datastores, hat andere Anforderungen, basierend auf, was Sie zu tun haben.
Redis hat mehrere Datenstrukturen, die nützlich sein könnten, je nach Ihrem Bedarf. Zum Beispiel, gewährt Ihr Wunsch nach einer
select * from student where name = 'xxx'
könnte man eine Redishash
.Wenn Sie andere Abfragen, obwohl, wie Sie möchten, das gleiche zu tun, aber wählen Sie auf
where college = 'nnn'
dann sind Sie gehen zu müssen, um denormalize Ihre Daten. Denormalisierung ist in der Regel eine schlechte Sache in SQL, sondern in NoSQL-es ist sehr verbreitet.Wenn Ihre primäre Abfrage wird gegen die Namen, aber möglicherweise müssen Sie query gegen das college, dann könnten Sie etwas tun, wie das hinzufügen eines
set
zusätzlich zu den hashes.Mit Ihren Daten strukturiert wie diese, wenn Sie wollte, zu finden, alle Infos zum Namen im college zu gehen xn, würden Sie zuerst wählen Sie die
set
, wählen Sie die einzelnenhash
auf der Grundlage der name zurückgegeben, in denset
.Ihren Anforderungen wird in der Regel Laufwerk das design und die Strukturen, die Sie verwenden.
hmset students:xxx id 1 college nnn address xn
und dannhgetall students:xxx
. Nein?Mit nur 6 Grundsätze (die ich gesammelt hier), ist es sehr einfach, eine SQL-minded person anzupassen, sich selbst zu Redis Ansatz. Kurz Sie sind:
Den link gibt nur eine einfache Tabelle-Beispiel und wie man modelliert es in Redis. Nach diesen 6 Prinzipien, die Sie können weiterhin denken, wie Sie auch für normale Tabellen. (Natürlich ohne einige nicht-so-relevanten Konzepte wie DRECK, Einschränkungen, Beziehungen, etc.)
Für plain, vanilla redis die anderen Antworten sind völlig richtig, jedoch gestern (02 - Dezember - 2016) redis-4-rc1 ist veröffentlicht worden.
redis v4 bietet Unterstützung für die Module und ich schrieb ein kleines Modul zum einbetten von SQLite in redis selbst; rediSQL.
Mit diesem Modul können Sie tatsächlich nutzen eine voll funktionsfähige SQL-Datenbank in Ihre redis-instace.
Redis nur einige grundlegende Datenstrukturen, die mit it -, NoSQL-und SQL sind verschiedene Welten. Aber Sie können Redis wie einige schmiedete einen Plan von SQL-Daten zu speichern. Es gibt lustige Programm Redisql auf github, die versuchen, zu spielen mit Redis über SQL und die Idee hinter Redisql ist so, dass @sberry erwähnt.
Können Sie versuchen, searchbox Rahmen. Suchfeld bietet eine einfache Möglichkeit zur Abfrage von redis die Daten mit Ihren Kriterien api.