1. tatic void Main(string[] args)
  2. {
  3. var Redis = new RedisClient("127.0.0.1", );//redis服务IP和端口
  4.  
  5. #region =insert=
  6.  
  7. var storeMembers = new List<string> { "jj", "lihui", "cc" };
  8. storeMembers.ForEach(x => Redis.AddItemToList("additemtolist", x));
  9. //注:也可直接使用AddRangeToList方法将一组数据装入如:
  10.  
  11. Redis.AddRangeToList("additemtolist", storeMembers);
  12. #endregion
  13.  
  14. #region =get=
  15.  
  16. var members = Redis.GetAllItemsFromList("additemtolist");
  17. members.ForEach(s => Console.WriteLine("additemtolist :" + s));
  18. Console.WriteLine(Redis.GetItemFromList("additemtolist", ));
  19. #endregion
  20.  
  21. #region =delete=
  22.  
  23. var list = Redis.Lists["additemtolist"];
  24. list.Clear();//清空
  25. list.Remove("two");//移除指定键值
  26. list.RemoveAt();//移除指定索引位置数据
  27. #endregion
  28. #region =object=
  29.  
  30. Redis.Set("userinfo", new UserInfo() { UserName = "李四", Age = });
  31. UserInfo userinfo = Redis.Get<UserInfo>("userinfo");
  32. Console.WriteLine(userinfo.UserName);
  33.  
  34. Redis.Set<int>("my_age", );//或Redis.Set("my_age", 12);
  35. Console.WriteLine(Redis.Get<int>("my_age"));
  36. #endregion
  37.  
  38. var ser = new ObjectSerializer(); //位于namespace ServiceStack.Redis.Support;
  39. #region =序列化=
  40. bool result = Redis.Set<byte[]>("userinfo", ser.Serialize(new UserInfo() { UserName = "张三", Age = }));
  41. UserInfo userinfo = ser.Deserialize(Redis.Get<byte[]>("userinfo")) as UserInfo;
  42. Console.WriteLine(userinfo.UserName);
  43. #endregion
  44.  
  45. //也支持列表
  46. Redis.Set<byte[]>("userinfolist_serialize", ser.Serialize(userinfoList));
  47.  
  48. #region =负载均衡=
  49.  
  50. PooledRedisClientManager prcm = CreateManager(new string[] { "10.0.4.210:6379" }, new string[] { "10.0.4.210:6379" });
  51. List<UserInfo> userinfoList = new List<UserInfo>();
  52. userinfoList.Add(new UserInfo() { UserName = "pool_daizhj", Age = });
  53. userinfoList.Add(new UserInfo() { UserName = "pool_daizhj1", Age = });
  54.  
  55. // 从池中获取一个链接:
  56.  
  57. using (IRedisClient Redis2 = prcm.GetClient())
  58. {
  59. Redis2.Set("userinfolist", userinfoList);
  60. List<UserInfo> userList = Redis2.Get<List<UserInfo>>("userinfolist");
  61. }
  62.  
  63. #endregion
  64. Console.ReadLine();
  65. }
  66. public static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
  67. {
  68. //支持读写分离,均衡负载
  69. return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
  70. {
  71. MaxWritePoolSize = ,//“写”链接池链接数
  72. MaxReadPoolSize = ,//“写”链接池链接数
  73. AutoStart = true,
  74. });
  75. }

servicestack操作redis的更多相关文章

  1. C# 通过ServiceStack 操作Redis——String类型的使用及示例

    1.引用Nuget包 ServiceStack.Redis 我这里就用别人已经封装好的Reids操作类,来演示,并附上一些说明 RedisConfigInfo--redis配置文件信息 /// < ...

  2. C# 通过ServiceStack 操作Redis——Set类型的使用及示例

    ServiceStack 程序集里面没有方法注解,我在这里将注解添加上去,有不当之处,欢迎指正 Console.WriteLine("---Set类型---"); //添加 set ...

  3. C# 通过ServiceStack 操作Redis——List类型的使用及示例

    Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销, /// <summary> /// Redis list的实现为一个双向链表 ...

  4. C# 通过ServiceStack 操作Redis——ZSet类型的使用及示例

    Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列 /// <summary> /// Sorted Sets是将 ...

  5. redis在.net架构中的应用(1)--使用servicestack连接redis(转)

    引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...

  6. 自己封装的C#操作redis公共类

    关于C#操作redis公共类,网上有很多版本,每个版本我都看了,发觉还是不够完美,都存在一个问题,只能操作单一的缓存数据库 redis指令支持上,这里可以自己去扩展,下面分享下我近期封装的一个redi ...

  7. 利用servicestack连接redis

    利用servicestack连接redis 引言:作为少有的.net架构下的大型网站,stackoverflow今日发表了一篇文章,介绍了其技术体系,原文链接http://highscalabilit ...

  8. redis在.net架构中的应用(1)--使用servicestack连接redis

    引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...

  9. 使用servicestack连接redis

    引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...

随机推荐

  1. <转Tanky Woo> 字典树

    又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串的公共前缀 ...

  2. django中post方法和get方法的不同

    当我们提交表单仅仅需要获取数据时就可以用GET: 而当我们提交表单时需要更改服务器数据的状态,或者说发送e-mail,或者其他不仅仅是获取并显示数据的时候就使用POST. 在这个搜索书籍的例子里,我们 ...

  3. 每天一个小算法(Shell Sort3)

    希尔算法自己编了一个,循环很多,很不美观,不过运行正确: c语言实现: #include <stdio.h> #include <stdlib.h> #define LEN 2 ...

  4. Perl文件读写

    Perl File Handling: open, read, write and close files #==================== Opening files Solution 1 ...

  5. JSON 之 SuperObject(5): Format 与转义字符

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  6. 好,开始没做出来 guess-number-higher-or-lower-ii

    https://leetcode.com/mockinterview/session/result/xsicjnm/ https://leetcode.com/problems/guess-numbe ...

  7. java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<init>(Ljava/lang/Class;)V

    相应我,是因为你SPRING MVC的包没有加全.你可以新建一个WEB项目.加入SPRING 3.0 的所有包.主要是WEB类的.就可以解决这个问题了.关键就是少包.特别是你的项目原来是SRPING ...

  8. UVa 424 Integer Inquiry

    之前杭电上也做过a + b的高精度的题,不过这道题的区别是有多组数据. 之前做的时候开了3个字符数组a,b,c,在计算的时候还要比较a,b长度,短的那个还要加'0',还设置了一个add来存放进位. 现 ...

  9. noSession or session is close 错误

    <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>or ...

  10. shell 括号学习

    http://blog.csdn.net/tttyd/article/details/11742241 http://tldp.org/LDP/abs/html/loops1.html