查看: 2314|回复: 0

[.NET开发] C#使用Redis的基本操作

发表于 2018-2-9 08:00:00

一,引入dll

  1.ServiceStack.Common.dll

  2.ServiceStack.Interfaces.dll

  3.ServiceStack.Redis.dll

  4.ServiceStack.Text.dll

二,修改配置文件

  在你的配置文件中加入如下的代码:

  1.  <appSettings>
  2.   <add key="RedisPath" value="127.0.0.1:6379"/> todo:这里配置自己redis的ip地址和端口号
  3.   </appSettings>
复制代码

二,用到的工具类

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ServiceStack.Redis;
  6. namespace RedisDemo
  7. {
  8. /// <summary>
  9. /// RedisManager类主要是创建链接池管理对象的
  10. /// </summary>
  11. public class RedisManager
  12. {
  13. /// <summary>
  14. /// redis配置文件信息
  15. /// </summary>
  16. private static string RedisPath = System.Configuration.ConfigurationSettings.AppSettings["RedisPath"];
  17. private static PooledRedisClientManager _prcm;
  18. /// <summary>
  19. /// 静态构造方法,初始化链接池管理对象
  20. /// </summary>
  21. static RedisManager()
  22. {
  23. CreateManager();
  24. }
  25. /// <summary>
  26. /// 创建链接池管理对象
  27. /// </summary>
  28. private static void CreateManager()
  29. {
  30. _prcm = CreateManager(new string[] { RedisPath }, new string[] { RedisPath });
  31. }
  32. private static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
  33. {
  34. //WriteServerList:可写的Redis链接地址。
  35. //ReadServerList:可读的Redis链接地址。
  36. //MaxWritePoolSize:最大写链接数。
  37. //MaxReadPoolSize:最大读链接数。
  38. //AutoStart:自动重启。
  39. //LocalCacheTime:本地缓存到期时间,单位:秒。
  40. //RecordeLog:是否记录日志,该设置仅用于排查redis运行时出现的问题,如redis工作正常,请关闭该项。
  41. //RedisConfigInfo类是记录redis连接信息,此信息和配置文件中的RedisConfig相呼应
  42. // 支持读写分离,均衡负载
  43. return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
  44. {
  45. MaxWritePoolSize = 5, // “写”链接池链接数
  46. MaxReadPoolSize = 5, // “读”链接池链接数
  47. AutoStart = true,
  48. });
  49. }
  50. private static IEnumerable<string> SplitString(string strSource, string split)
  51. {
  52. return strSource.Split(split.ToArray());
  53. }
  54. /// <summary>
  55. /// 客户端缓存操作对象
  56. /// </summary>
  57. public static IRedisClient GetClient()
  58. {
  59. if (_prcm == null)
  60. {
  61. CreateManager();
  62. }
  63. return _prcm.GetClient();
  64. }
  65. }
  66. }
复制代码

三,main方法执行存储操作与读取操作

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ServiceStack.Redis;
  6. using ServiceStack.Redis.Support;
  7. namespace RedisDemo
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. try
  14. {
  15. //获取Redis操作接口
  16. IRedisClient Redis = RedisManager.GetClient();
  17. //放入内存
  18. Redis.Set<string>("my_name", "小张");
  19. Redis.Set<int>("my_age", 12);
  20. //保存到硬盘
  21. Redis.Save();
  22. //释放内存
  23. Redis.Dispose();
  24. //取出数据
  25. Console.WriteLine("取出刚才存进去的数据 \r\n 我的Name:{0}; 我的Age:小贝.",
  26. Redis.Get<string>("my_name"), Redis.Get<int>("my_age"));
  27. Console.ReadKey();
  28. }
  29. catch (Exception ex)
  30. {
  31. Console.WriteLine(ex.Message.ToString());
  32. Console.ReadKey();
  33. }
  34. }
  35. }
  36. }
复制代码

完活,下面是运行后的结果

以上所述是小编给大家介绍的C#使用Redis的基本操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对程序员之家网站的支持!

您可能感兴趣的文章:

  • 详解PHP使用Redis存储session时的一个Warning定位
  • Redis实现分布式锁的几种方法总结
  • 详解spring boot starter redis配置文件
  • Java利用Redis实现消息队列的示例代码
  • 深入理解redis分布式锁和消息队列
  • Redis 出现错误1067的解决办法


回复

使用道具 举报