Einstieg in Redis on Windows & Redis mit .NET benutzen

image.png

Redis gehört zu den NoSQL Datenbanken und ist dort in der Familie der Key-Value Stores zu finden. Redis wird oft mit “Blazing Fast” betitelt und laut dem Stackoverflow Thread soll es im Vergleich zu MongoDB zweimal (beim Schreiben) und sogar dreimal (beim Lesen) so schnell sein wie MongoDB – auch wenn der Vergleich etwas “hinkt” (Dokumentendatenbank vs. Key-Value).

Redis wird auf Windows portiert (und vll. als Azure Service implementiert)

Microsofts Open Source Abteilung ist unterdessen fleissig daran Redis überhaupt auf Windows zum Laufen zu bekommen. Ein erster Wurf wurde letzte Woche erzielt. Microsoft hatte die Ergebnisse auf GitHub gestellt – auch wenn es noch ein weiter Weg bis zum Produktiveinsatz auf Windows ist.

Redis als Service für Azure?

Ein der ersten Kommentare geht direkt Richtung Azure:

image

Die Antwort ließ nicht lange auf sich warten:

image

Schauen wir mal, wann das Wirklichkeit wird. Nebenbei erwähnt: Es gibt natürlich schon einige Redis Hoster.

Redis für Windows zum Laufen bekommen.

Bevor es in der Cloud läuft, lassen wir Redis erst einmal auf unserer Windows Umgebung überhaupt zum Laufen bekommen. Aktuell (Anfang Mai 2012) muss man diesen Dev Branch runterladen und die RedisServer.sln mit Visual Studio öffnen:

image

Die Solution (bestehend aus C++ Projekten) muss gebaut werden:

image

Je nach Konfiguration hat man entweder den msvs\Debug Ordner oder den msvs\Release Ordner. Der Ordner enthält eine ganze Menge Dateien, darunter auch die redis-server.exe.

Server Starten

Nach dem Starten des Servers steht auch der Server Port da (etwas versteckt bzw. ungünstig umgebrochen, aber er ist da)

SNAGHTMLd00e987

Redis & .NET AKA Rumspielen mit der API

Kurze Warnung noch: Ich hab keine Ahnung, was genau ich mit Redis machen möchte – pures Interesse und Spieltrieb.

image

Zur Demo mal schnell ein MVC Projekt angelegt und via NuGet nach Redis gesucht:

ServiceStack.Redis – klingt gut!

SNAGHTMLd040daa

Democode:

        public ActionResult Index()
        {
            RedisClient client = RedisClientFactory.Instance.CreateRedisClient("localhost",6379);
            client.Add("Test", Guid.NewGuid());

            var result = client.Get<Guid>("Test");

            ViewBag.Message = "Welcome Redis: " + result;

            return View();
        }

Und siehe da: Es wird eine GUID angezeigt.

image

In der Konsole tut sich unterdessen auch einiges:

SNAGHTMLd074196

Wann sollte ich Redis nehmen? Was ist gut, was ist schlecht?

Da ich selber noch keine Erfahrung in Redis hab, möchte ich gerne die Meinungen auf KnowYourStack.com zu Redis sammeln: Warum nutzen? Was ist gut? Was ist schlecht?

Wenn dir der Blogpost gefallen hat, dann hinterlasse doch einen Kommentar. Wenn du auf dem Laufenden bleiben willst, abonniere unseren RSS Feed oder folge uns auf Twitter.

About the author

Written by

Hi, ich bin Robert Mühsig und bin Webentwickler und beschäftige mich mit Web-Frameworks auf dem Microsoft Web Stack und scheue mich auch nicht vor Javascript. Der Blog begann als "Problemsammelstelle und Lösungshilfe" und seitdem schreibe ich hier alles auf. Seit 2008 bin ich Microsoft MVP für ASP.NET. Treffen kann man mich online via Twitter (@robert0muehsig) oder hier.

Comment on this post

Letzte Posts

  • image.png
    Microsoft Account Login via ASP.NET Identity

    Der Microsoft Account ist die zentrale Identifikationsstelle in der “Consumer-Microsoft-Welt”, allerdings ist das Einbinden eben dieser in die eigene Applikation eher schwierig. Das “Live SDK” ist nun unter dem OneDrive Dev Center zu finden und ganz professionell wurden auch alle Links zum alten Live SDK damit unbrauchbar gemacht. Beim Microsoft Account ist es auch unmöglich […]

  • image.png
    Zeitgesteuerte Azure WebJobs – so einfach kann Azure sein

    Das noch in Entwicklung befindliche Azure WebJob SDK bietet einige coole Features zum Verarbeiten und Bereitstellen von Daten. Bekanntes Beispiel ist das Sample welches auf eine Azure Queue lauscht und sobald ein Item da vorhanden ist anfängt dies zu verarbeiten. Szenario: Zeitgesteuerte Aktivitäten – ohne Queue und co. Mein Szenario war allerdings wesentlich trivialer: Ich […]

  • image.png
    Get Involved in OSS! Ja, aber wie geht das denn mit GitHub?

    Auch im .NET Lager gibt es Bewegung im OSS Bereich und es gibt verschiedene Arten wie man bei einem Open Source Projekt “Contributed”. Was zählt alles zu “Contribution”? Unter “Contribution” läuft eigentlich alles – ob es Fragen/Probleme zu dem Projekt via Issues ist oder Dokumentation nachreicht oder ob man darüber bloggt oder das Projekt vorstellt. […]

  • HowTo: Web.config samt eigener ConfigSection zur Laufzeit ändern

    In dem HowTo geht es darum wie man die Web.config zur Laufzeit ändert und was es dabei zu beachten gilt. Das ganze klappt auch mit komplexeren ConfigSections. Eigene ConfigSection? Vor einer ganzen Weile habe ich mal über das Erstellen einer eigenen ConfigSection geschrieben – im Grunde nutzen wir jetzt fast dieselbe Config. Zur Laufzeit? Startet […]

  • image.png
    HowTo: RSS Feeds mit ASP.NET MVC erstellen

    Ich hatte hier schon öfters geschrieben wie man RSS oder Atom Feeds konsumieren kann – jetzt geht es aber mal um das erstellen bzw. publishen eines eigenen Feeds. Trotz des Alters von den Feed Standards und die vielen Abgesänge von Facebook, Twitter und Google auf RSS/Atom halte ich diese einfach zu konsumierende API für ziemlich […]

Amazon Shop

Facebook