|
Beetle.Redis ist eine Open-Source-Redis-Client-zu-.net-Komponente, die Entwicklern eine sehr einfache Möglichkeit bietet, einfach auf Edis zuzugreifen und gleichzeitig Datenformatunterstützung für JSON und Protobuf bietet. Der Standardzugriff basierend auf Connection Pools ermöglicht es Entwicklern, Redis prägnant und effizient zu nutzen, ohne sich um eine Reihe komplexer Dinge wie Threading und Verbindungssynchronisation kümmern zu müssen. Veranlagung
- <configSections>
- <section name="redisClientSection" type="Beetle.Redis.RedisClientSection, Beetle.Redis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
- </configSections>
- <redisClientSection dB="0" xmlns="urn:Beetle.Redis">
- <writes>
- <add host="192.168.0.105" connections="9"/>
- </writes>
- <reads>
- <add host="192.168.0.105" connections="9"/>
- </reads>
- </redisClientSection>
Code kopieren
Die oben genannten Konfigurationen sind die Lese-/Schreibdienstadressen, die Standardanzahl der Verbindungen beträgt 9 und der Datenbankzugriff ist 0. Mehrere Redis-Serviceinformationen können entsprechend den Bedürfnissen der jeweiligen Anwendung konfiguriert werden.
Die Nutzung der Komponente ist sehr einfach, es ist nicht nötig, die Verbindungsinformationen wie bei anderen Redis-Client-Komponenten vor der Nutzung zu definieren, und die Komponente verwendet standardmäßig automatisch die Konfigurationsumgebung von redisClientSection, um den entsprechenden Redis-Dienst zu betreiben.
String Get/Set
- StringKey key = "HENRY";
- string Remark = "henryfan gz cn 18 [email]henryfan@msn.com[/email] 28304340";
- key.Set(Remark);
- Assert.AreEqual(Remark, key.Get());
Code kopieren Json Get/Set
- JsonKey rk = "henry_json";
- UserBase ub = new UserBase();
- ub.Name = "henryfan";
- ub.City = "gz";
- ub.Counrty = "cn";
- ub.Age = 10;
- rk.Set(ub);
- Assert.AreEqual(ub.Name, rk.Get().Name);
Code kopieren Protobuf Get/Set
- ProtobufKey rk = "henry_protobuf";
- UserBase ub = new UserBase();
- ub.Name = "henryfan";
- ub.City = "gz";
- ub.Counrty = "cn";
- ub.Age = 10;
- rk.Set(ub);
- Assert.AreEqual(ub.Name, rk.Get().Name);
Code kopieren
Liste
- [TestMethod]
- public void LST_POP_PUSH()
- {
- ProtobufList lst = "USERS";
- lst.Push(new UserBase { Name = "henry", Age = 18, City = "gz", Counrty = "cn" });
- Assert.AreEqual("henry", lst.Pop().Name);
- }
- [TestMethod]
- public void LST_REMOVE_ADD()
- {
- ProtobufList lst = "USERS";
- lst.Add(new UserBase { Name = "henry", Age = 18, City = "gz", Counrty = "cn" });
- lst.Add(new UserBase { Name = "bbq", Age = 18, City = "gz", Counrty = "cn" });
- Assert.AreEqual("bbq", lst.Remove().Name);
- }
- [TestMethod]
- public void LST_Length()
- {
- ProtobufList lst = "USERS";
- lst.Clear();
- lst.Add(new UserBase { Name = "henry", Age = 18, City = "gz", Counrty = "cn" });
- lst.Add(new UserBase { Name = "bbq", Age = 18, City = "gz", Counrty = "cn" });
- Assert.AreEqual(lst.Count(), 2);
- }
- [TestMethod]
- public void LST_Region()
- {
- ProtobufList lst ="USERS";
- lst.Clear();
- for (int i = 0; i < 10; i++)
- {
- lst.Add(new UserBase { Name = "henry" + i, Age = 18, City = "gz", Counrty = "cn" });
- }
- IList items = lst.Range();
- Assert.AreEqual(items[0].Name, "henry0");
- Assert.AreEqual(items[9].Name, "henry9");
- items = lst.Range(5, 7);
- Assert.AreEqual(items[0].Name, "henry5");
- Assert.AreEqual(items[2].Name, "henry7");
- }
Code kopieren MapSet
- [TestMethod]
- public void MapSet()
- {
- JsonMapSet map = "HENRY_INFO";
- UserBase ub = new UserBase();
- ub.Name = "henryfan";
- ub.City = "gz";
- ub.Counrty = "cn";
- ub.Age = 10;
- Contact contact = new Contact();
- contact.EMail = "hernyfan@msn.com";
- contact.QQ = "28304340";
- contact.Phone = "13660223497";
- map.Set(ub, contact);
- IList data = map.Get();
- Assert.AreEqual(ub.Name, ((UserBase)data[0]).Name);
- Assert.AreEqual(contact.Phone, ((Contact)data[1]).Phone);
- }
- [TestMethod]
- public void MapSetdRemove()
- {
- JsonMapSet map = "HENRY_INFO";
- UserBase ub = new UserBase();
- ub.Name = "henryfan";
- ub.City = "gz";
- ub.Counrty = "cn";
- ub.Age = 10;
- Contact contact = new Contact();
- contact.EMail = "hernyfan@msn.com";
- contact.QQ = "28304340";
- contact.Phone = "13660223497";
- map.Set(ub, contact);
- map.Remove();
- contact = map.Get();
- Assert.AreEqual(null, contact);
- }
- [TestMethod]
- public void MapSetClear()
- {
- JsonMapSet map = "HENRY_INFO";
- UserBase ub = new UserBase();
- ub.Name = "henryfan";
- ub.City = "gz";
- ub.Counrty = "cn";
- ub.Age = 10;
- Contact contact = new Contact();
- contact.EMail = "hernyfan@msn.com";
- contact.QQ = "28304340";
- contact.Phone = "13660223497";
- map.Set(ub, contact);
- map.Clear();
- IList data = map.Get();
- Assert.AreEqual(null, data[0]);
- Assert.AreEqual(null, data[1]);
- }
Code kopieren
Leistung
BeispielHerunterladen
Beetle.Redis.0.6.6.5.rar
(244.2 KB, Anzahl der Downloads: 1)
|