Jak pracować z pamięcią podręczną Redis w .NET

Buforowanie to strategia zarządzania stanem, której można użyć w celu zwiększenia wydajności aplikacji, ponieważ pomaga zmniejszyć zużycie zasobów w systemie.

Pamięć podręczna Redis to szybka baza danych NoSQL typu open source. Jest szybki i działa całkowicie w pamięci z niewielkim narzutem wydajności podczas odczytu i zapisu danych. Należy zauważyć, że Redis jest darmowy zarówno do użytku komercyjnego, jak i niekomercyjnego na licencji BSD.

Co to jest pamięć podręczna Redis i dlaczego warto jej używać?

Redis jest jednym z najpopularniejszych dostępnych w pamięci magazynów danych opartych na otwartym kodzie źródłowym NoSQL. Jest to magazyn danych w pamięci, który może obsługiwać szeroką gamę struktur danych, tj. Ciągi znaków, skróty, zestawy, listy itp. Redis zapewnia również wbudowaną obsługę replikacji i transakcji, a także doskonałą obsługę trwałości danych.

Redis to dobry wybór przede wszystkim wtedy, gdy Twoja aplikacja musi przechowywać i pobierać ogromne ilości danych. Jeśli Twoja aplikacja wymaga przechowywania i pobierania dużej ilości danych, a dostępność wolnej pamięci nie jest ograniczeniem, Redis Cache jest silnikiem buforującym, na który powinieneś wybrać. Konfigurowanie Redis jest dość proste - poniższe sekcje omawiają sposób instalowania, konfigurowania i używania Redis.

Instalowanie Redis

Możesz pobrać kopię pamięci podręcznej Redis z GitHub. Podczas instalacji Redis należy zaznaczyć opcję dodania Redis do zmiennej środowiskowej PATH. Po zainstalowaniu pamięci podręcznej Redis w systemie możesz wpisać Uruchom -> service.msc, aby wyświetlić usługę Redis uruchomioną w systemie.

Praca z klientem C # Redis

Po zainstalowaniu Redis w systemie potrzebujesz klienta do przechowywania i pobierania danych do iz pamięci podręcznej Redis. W tym przykładzie użyjemy klienta open source ServiceStack C # Redis. Aby to zrobić, utwórz nowy projekt aplikacji konsoli w programie Visual Studio. Możesz zainstalować ServiceStack.Redis za pośrednictwem menedżera pakietów NuGet.

Zakładając, że ServiceStack.Redis został zainstalowany za pośrednictwem NuGet, poniższe dwie metody ilustrują, jak można przechowywać i pobierać dane z pamięci podręcznej Redis przy użyciu interfejsu API ServiceStack.Redis.

prywatne statyczne bool Zapisz (host ciągu, klucz ciągu, wartość ciągu)

        {

            bool isSuccess = false;

            using (RedisClient redisClient = new RedisClient (host))

            {

                if (redisClient.Get (klucz) == null)

                {

                    isSuccess = redisClient.Set (klucz, wartość);

                }

            }

            return isSuccess;

        }

        prywatny ciąg statyczny Get (host ciągu, klucz ciągu)

        {

            using (RedisClient redisClient = new RedisClient (host))

            {

                return redisClient.Get (klucz);

            }

        }

Zwróć uwagę, w jaki sposób metody Set and Get klasy RedisClient zostały użyte do przechowywania i pobierania danych do iz pamięci podręcznej Redis. Tobie pozostawiam zaktualizowanie tych dwóch metod, aby były ogólne, aby mogły działać z każdym typem.

Oto jak możesz wywołać te metody z metody Main:

static void Main (string [] args)

        {

            string host = "localhost";

            string key = "";

            // Przechowuj dane w pamięci podręcznej

            bool success = Save (host, klucz, "Witaj świecie!");

            // Pobierz dane z pamięci podręcznej za pomocą klucza

            Console.WriteLine ("Dane pobrane z pamięci podręcznej Redis:" + Get (host, klucz));

            Console.Read ();

        }

Jak powiedziałem wcześniej, Redis jest bogaty w funkcje. W jednym z moich przyszłych artykułów tutaj omówię niektóre zaawansowane koncepcje, takie jak trwałość, pub-sub, automatyczne przełączanie awaryjne itp. Możesz skorzystać z metody trwałości RDB (pojedynczy plik kompaktowy) lub AOF. Jednak przed wybraniem odpowiedniej opcji trwałości należy wziąć pod uwagę kompromisy między wydajnością, trwałością i dyskami we / wy.

Możesz dowiedzieć się więcej o Redis z dokumentacji online projektu.

Jeśli chcesz użyć narzędzia administracyjnego GUI do przeglądania danych Redis, możesz wypróbować narzędzie Redis Admin UI.