|
Beetle.Redis — это открытый компонент Redis Client for .net, который предоставляет разработчикам очень простой способ легко получить доступ к Redis, а также поддерживает форматы данных для json и protobuf. Стандартный доступ, основанный на пулах соединений, позволяет разработчикам лаконично и эффективно получать доступ к Redis, не беспокоясь о ряде сложных задач, таких как потоки и синхронизация соединений. расположение
- <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>
Копирование кода
Приведённые выше конфигурации — это адреса сервисов чтения/записи, а по умолчанию количество соединений — 9, а доступ к базе данных — 0. Несколько сервисных данных в Redis могут быть настроены в соответствии с потребностями конкретного приложения.
Использование компонента очень простое, нет необходимости определять информацию о соединении, как другие компоненты клиента Redis, и компонент автоматически использует среду конфигурации redisClientSection для работы соответствующего сервиса Redis по умолчанию.
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());
Копирование кода 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);
Копирование кода 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);
Копирование кода
Список
- [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");
- }
Копирование кода 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]);
- }
Копирование кода
производительность
ОбразецЗагружать
Beetle.Redis.0.6.6.5.rar
(244.2 KB, Количество скачиваний: 1)
|