|
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)
|