Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 27351|Odpowiedź: 1

[Redis] Redis. .NET open-source component Beetle.Redis

[Skopiuj link]
Opublikowano 29.12.2015 11:58:16 | | | |
Beetle.Redis to open-source klient Redis dla komponentu .net, który zapewnia bardzo prosty sposób dla deweloperów na łatwy dostęp do Redis, jednocześnie wspierając format danych dla json i protobuf. Domyślny dostęp oparty na pulach połączeń pozwala deweloperom na zwięzły i efektywny dostęp do Redis, bez konieczności martwienia się o szereg skomplikowanych rzeczy, takich jak wątkowanie czy synchronizacja połączeń.
usposobienie

  1. <configSections>
  2.     <section name="redisClientSection" type="Beetle.Redis.RedisClientSection, Beetle.Redis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
  3.   </configSections>
  4.   <redisClientSection dB="0"  xmlns="urn:Beetle.Redis">
  5.     <writes>
  6.       <add host="192.168.0.105" connections="9"/>
  7.     </writes>
  8.     <reads>
  9.       <add host="192.168.0.105" connections="9"/>
  10.     </reads>
  11.   </redisClientSection>
Skopiuj kod

Powyższe konfiguracje to adresy usług odczytu/zapisu, a domyślna liczba połączeń wynosi 9, a dostęp do bazy danych to 0. Wiele informacji o usługach redis można konfigurować zgodnie z potrzebami faktycznej aplikacji.


Użycie komponentu jest bardzo proste, nie ma potrzeby definiowania informacji o połączeniu, jak w przypadku innych komponentów klienta Redis, a komponent automatycznie korzysta ze środowiska konfiguracyjnego redisClientSection do obsługi odpowiedniej usługi Redis domyślnie.


Get/Set struny


  1. StringKey key = "HENRY";
  2.             string Remark = "henryfan gz cn 18 [email]henryfan@msn.com[/email] 28304340";
  3.             key.Set(Remark);
  4.             Assert.AreEqual(Remark, key.Get());
Skopiuj kod
Json Get/Set


  1. JsonKey rk = "henry_json";
  2.             UserBase ub = new UserBase();
  3.             ub.Name = "henryfan";
  4.             ub.City = "gz";
  5.             ub.Counrty = "cn";
  6.             ub.Age = 10;
  7.             rk.Set(ub);
  8.             Assert.AreEqual(ub.Name, rk.Get().Name);
Skopiuj kod
Protobuf Get/Set


  1. ProtobufKey rk = "henry_protobuf";
  2.             UserBase ub = new UserBase();
  3.             ub.Name = "henryfan";
  4.             ub.City = "gz";
  5.             ub.Counrty = "cn";
  6.             ub.Age = 10;
  7.             rk.Set(ub);
  8.             Assert.AreEqual(ub.Name, rk.Get().Name);
Skopiuj kod


Lista


  1. [TestMethod]
  2.         public void LST_POP_PUSH()
  3.         {
  4.             ProtobufList lst = "USERS";
  5.             lst.Push(new UserBase { Name = "henry", Age = 18, City = "gz", Counrty = "cn" });
  6.             Assert.AreEqual("henry", lst.Pop().Name);
  7.         }
  8.         [TestMethod]
  9.         public void LST_REMOVE_ADD()
  10.         {
  11.             ProtobufList lst = "USERS";
  12.             lst.Add(new UserBase { Name = "henry", Age = 18, City = "gz", Counrty = "cn" });
  13.             lst.Add(new UserBase { Name = "bbq", Age = 18, City = "gz", Counrty = "cn" });
  14.             Assert.AreEqual("bbq", lst.Remove().Name);
  15.         }
  16.         [TestMethod]
  17.         public void LST_Length()
  18.         {
  19.             ProtobufList lst = "USERS";
  20.             lst.Clear();
  21.             lst.Add(new UserBase { Name = "henry", Age = 18, City = "gz", Counrty = "cn" });
  22.             lst.Add(new UserBase { Name = "bbq", Age = 18, City = "gz", Counrty = "cn" });
  23.             Assert.AreEqual(lst.Count(), 2);
  24.         }
  25.         [TestMethod]
  26.         public void LST_Region()
  27.         {
  28.             ProtobufList lst ="USERS";
  29.             lst.Clear();
  30.             for (int i = 0; i < 10; i++)
  31.             {
  32.                 lst.Add(new UserBase { Name = "henry" + i, Age = 18, City = "gz", Counrty = "cn" });
  33.             }
  34.             IList items = lst.Range();
  35.             Assert.AreEqual(items[0].Name, "henry0");
  36.             Assert.AreEqual(items[9].Name, "henry9");
  37.             items = lst.Range(5, 7);
  38.             Assert.AreEqual(items[0].Name, "henry5");
  39.             Assert.AreEqual(items[2].Name, "henry7");
  40.         }
Skopiuj kod
MapSet


  1. [TestMethod]
  2.         public void MapSet()
  3.         {

  4.             JsonMapSet map = "HENRY_INFO";
  5.             UserBase ub = new UserBase();
  6.             ub.Name = "henryfan";
  7.             ub.City = "gz";
  8.             ub.Counrty = "cn";
  9.             ub.Age = 10;
  10.             Contact contact = new Contact();
  11.             contact.EMail = "hernyfan@msn.com";
  12.             contact.QQ = "28304340";
  13.             contact.Phone = "13660223497";
  14.             map.Set(ub, contact);
  15.             IList data = map.Get();
  16.             Assert.AreEqual(ub.Name, ((UserBase)data[0]).Name);
  17.             Assert.AreEqual(contact.Phone, ((Contact)data[1]).Phone);

  18.         }
  19.         [TestMethod]
  20.         public void MapSetdRemove()
  21.         {
  22.             JsonMapSet map = "HENRY_INFO";
  23.             UserBase ub = new UserBase();
  24.             ub.Name = "henryfan";
  25.             ub.City = "gz";
  26.             ub.Counrty = "cn";
  27.             ub.Age = 10;
  28.             Contact contact = new Contact();
  29.             contact.EMail = "hernyfan@msn.com";
  30.             contact.QQ = "28304340";
  31.             contact.Phone = "13660223497";
  32.             map.Set(ub, contact);
  33.             map.Remove();
  34.             contact = map.Get();
  35.             Assert.AreEqual(null, contact);

  36.         }
  37.         [TestMethod]
  38.         public void MapSetClear()
  39.         {
  40.             JsonMapSet map = "HENRY_INFO";
  41.             UserBase ub = new UserBase();
  42.             ub.Name = "henryfan";
  43.             ub.City = "gz";
  44.             ub.Counrty = "cn";
  45.             ub.Age = 10;
  46.             Contact contact = new Contact();
  47.             contact.EMail = "hernyfan@msn.com";
  48.             contact.QQ = "28304340";
  49.             contact.Phone = "13660223497";
  50.             map.Set(ub, contact);
  51.             map.Clear();
  52.             IList data = map.Get();
  53.             Assert.AreEqual(null, data[0]);
  54.             Assert.AreEqual(null, data[1]);
  55.         }
Skopiuj kod


wydajność

Przykład
Pobierać

Beetle.Redis.0.6.6.5.rar (244.2 KB, Liczba pobranych plików: 1)




Poprzedni:schemat konfiguracji sesji bez plików cookieless
Następny:5 rzeczy, które musisz wiedzieć przed użyciem Redis
Opublikowano 22.09.2021 20:25:08 |
Naucz się uczyć...
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com