.Net 连接示例

最后更新时间:2021-03-17 11:53:39

运行前必备
下载并安装 ServiceStack.Redis

示例代码

  • 不使用连接池
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using ServiceStack.Redis; 
using System;

namespace ConsoleApplication1 
{ 
    class Program 
    { 
        static void Main(string[] args) 
       { 
           string host = "10.xx.xx.46";//实例访问 host 地址 
           int port = 6379;// 端口信息 
           string instanceId = "bd87dadc-8xx1-4xx1-86dd-021xxxcde96";//实例 ID 
           string pass = "1234567q";//密码 

           RedisClient redisClient = new RedisClient(host, port, instanceId + ":" + pass); 
           string key = "name"; 
           string value = "QcloudV5!"; 
           redisClient.Set(key, value); //设置值 
           System.Console.WriteLine("set key:[" + key + "]value:[" + value + "]"); 
           string getValue = System.Text.Encoding.Default.GetString(redisClient.Get(key)); //读取值 
           System.Console.WriteLine("value:" + getValue); 
           System.Console.Read(); 
          } 
     } 
}
  • 使用 ServiceStack 4.0 连接池
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using ServiceStack.Redis; 
using System;

namespace ConsoleApplication2 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
             string[] testReadWriteHosts = new[] {
             "redis://:fb92bxxxabf11e5:1234xx8a1A@10.x.x.1:6379"/*redis://:实例ID:密码@访问地址:端口*/
             };
             RedisConfig.VerifyMasterConnections = false;//需要设置
             PooledRedisClientManager redisPoolManager = new PooledRedisClientManager(10/*连接池个数*/, 
             10/*连接池超时时间*/, testReadWriteHosts);
             for (int i = 0; i < 100; i++)
            {
                 IRedisClient redisClient = redisPoolManager.GetClient();//获取连接
                 RedisNativeClient redisNativeClient = (RedisNativeClient)redisClient;
                 redisNativeClient.Client = null;//需要设置
                 try
                {
                   string key = "test1111";
                   string value = "test1111";
                   redisClient.Set(key, value);
                   redisClient.Dispose();//
                }
                catch (Exception e)
                {
                    System.Console.WriteLine(e.Message);
                }
            }
            System.Console.Read();
         } 
     } 
}
  • 使用ServiceStack 3.0 连接池
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using ServiceStack.Redis; 
using System;

namespace ConsoleApplication3 
{ 
  class Program 
  { 
     static void Main(string[] args) 
    { 
           string[] testReadWriteHosts = new[] {
               "fb92bfxxbf11e5:123456xx1A@10.x.x.1:6379" /*实例ID:密码@访问地址:端口*/
               };
               PooledRedisClientManager redisPoolManager = new PooledRedisClientManager(10/*连接池个
               数*/, 10/*连接池超时时间*/, testReadWriteHosts);
               for (int i = 0; i < 100; i++)
              {
               IRedisClient redisClient = redisPoolManager.GetClient();//获取连接
               try
              {
                  string key = "test1111";
                  string value = "test1111";
                  redisClient.Set(key, value);
                  redisClient.Dispose();//
              } 
              catch (Exception e)
             {
                   System.Console.WriteLine(e.Message);
             }
          }
          System.Console.Read();
      } 
   } 
}

运行结果