在c#中使用servicestackredis操作redis的实例代码

2019-12-30 18:00:38王旭

四.使用客户端链接池模式提升链接速度:


public static PooledRedisClientManager CreateManager(string[] readWriteHosts, string[] readOnlyHosts)
 {
    //支持读写分离,均衡负载
    return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig
    {
      MaxWritePoolSize = 5,//“写”链接池链接数
      MaxReadPoolSize = 5,//“读”链接池链接数
      AutoStart = true,
    });     
 }

声明链接池对象(这里只使用一个redis服务端):


PooledRedisClientManager prcm = CreateManager(new string[] { "127.0.0.1:6379" }, new string[] { "127.0.0.1:6379" });
 
 List<UserInfo> userinfoList = new List<UserInfo>();
 userinfoList.Add(new UserInfo() { UserName = "pool_daizhj", Age = 1 });
 userinfoList.Add(new UserInfo() { UserName = "pool_daizhj1", Age = 2 });

从池中获取一个链接:


using (IRedisClient Redis = prcm.GetClient())
 {       
    Redis.Set("userinfolist", userinfoList);
    List<UserInfo> userList = Redis.Get<List<UserInfo>>("userinfolist");
 }

注:

如只想使用长链接而不是链接池的话,可以直接将下面对象用static方式声明即可: 


protected static RedisClient Redis = new RedisClient("127.0.0.1", 6379);

这样在redis服务端显示只有一个客户链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。


注:相关教程知识阅读请移步到c#教程频道。