概述

Redis【REmote DIctionary Server】作为当前比较流行的NoSql数据库,以其高性能,高可用的的特点,应用越来越广泛,深得各大企业和开发人员的青睐。 本文主要以一个简单的小例子,简述ServiceStack.Redis动态库在Redis方面的相关应用,仅供学习分享使用,如有不足之处,还请指正。

开发环境

相关开发环境,如下所示:

  • Microsoft Visual Studio Community 2019
  • ServiceStack.Redis 动态库
  • Redis 6.0.9 服务器端环境搭建

ServiceStack.Redis的安装

在C#开发中,主要通过NuGet包管理器,来安装ServiceStack.Redis动态库,目前版本为5.10.4,如下所示:

C#利用ServiceStack.Redis访问Redis

 

示例截图

关于C#调用Redis相关示例截图,如下所示:

C#利用ServiceStack.Redis访问Redis

核心代码

关于Redis操作的核心代码,主要分两部分:Redis客户端管理类,Redis客户端操作类。

Redis客户端管理类,主要通过Redis客户端连接池【PooledRedisClientManager】创建客户端对象【IRedisClient】,如下所示:

 1 using ServiceStack.Redis;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace DemoRedis
 9 {
10     /// <summary>
11     /// Redis客户端管理类
12     /// </summary>
13     public static class RedisManager
14     {
15         private static PooledRedisClientManager clientManager;
16 
17         /// <summary>
18         /// 初始化信息
19         /// </summary>
20         private static void initInfo()
21         {
22             string ipaddr = System.Configuration.ConfigurationManager.AppSettings["ipaddr"];
23             string port = System.Configuration.ConfigurationManager.AppSettings["port"];
24             string host = string.Format("{0}:{1}", ipaddr, port);
25             initInfo(new string[] { host }, new string[] { host });
26         }
27 
28         /// <summary>
29         /// 初始化Redis客户端管理
30         /// </summary>
31         /// <param name="readWriteHosts"></param>
32         /// <param name="readOnlyHosts"></param>
33         private static void initInfo(string[] readWriteHosts, string[] readOnlyHosts)
34         {
35             clientManager = new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
36             {
37                 MaxWritePoolSize = 5, // “写”链接池链接数 
38                 MaxReadPoolSize = 5, // “读”链接池链接数 
39                 AutoStart = true,
40             });
41         }
42 
43         public static IRedisClient getRedisClient()
44         {
45             if (clientManager == null)
46             {
47                 initInfo();
48             }
49             return clientManager.GetClient();
50         }
51 
52     }
53 
54 
55 }
View Code

相关文章:

  • 2021-08-16
  • 2022-12-23
  • 2021-12-20
  • 2022-12-23
  • 2021-11-14
  • 2018-06-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-29
  • 2022-12-23
  • 2019-07-06
  • 2022-12-23
  • 2022-01-11
相关资源
相似解决方案