Signalr WebApi客服-客户链接+Redis(集群扩展)
Posted 小宋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Signalr WebApi客服-客户链接+Redis(集群扩展)相关的知识,希望对你有一定的参考价值。
一、扩展Redis集群
1、安装CSRedisCore 3.3.0
2、访问
代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace DemoCore.Controllers { [Route("api/[controller]/[action]")] //Api控制器 [ApiController] public class HomeController : Controller { private ILogger _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } // GET: api/<controller> [HttpGet] public IEnumerable<string> Get() { var csredis = new CSRedis.CSRedisClient(null, "127.0.0.1:6379,defaultDatabase=11,poolsize=10,ssl=false,writeBuffer=10240,prefix=btkey_", "120.79.21.96:6379,defaultDatabase=14,poolsize=13,ssl=false,writeBuffer=10240,prefix=key_"); //实现思路:根据key.GetHashCode() % 节点总数量,确定连向的节点 //也可以自定义规则(第一个参数设置) //初始化 RedisHelper RedisHelper.Initialization(csredis); RedisHelper.Set("name1", "祝雷1");//设置值。默认永不过期 RedisHelper.Set("name2", "祝雷2");//设置值。默认永不过期 RedisHelper.Set("name1", "祝雷11");//设置值。默认永不过期 RedisHelper.Set("name2", "祝雷22");//设置值。默认永不过期 RedisHelper.Set("name", "祝雷");//设置值。默认永不过期 string str=RedisHelper.Get("name");//取值 _logger.LogInformation("测试一下,不要紧张!"); return new string[] { "value1", "value2" }; } } }
二、优化
1、appsettings.json
代码如下:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*", "CsRedisConfig": { "ZoneConnectString": [ "127.0.0.1:6379,defaultDatabase=11,poolsize=10,ssl=false,writeBuffer=10240,prefix=btkey_", "120.79.21.96:6379,defaultDatabase=14,poolsize=13,ssl=false,writeBuffer=10240,prefix=key_" ] } }
2、Startup.cs文件
代码如下:
#region redis分区模式 //使用appsettings.json,分区模式 string[] zoneValues = Configuration.GetSection("CsRedisConfig:ZoneConnectString").Get<string[]>(); CSRedisClient csredis = new CSRedis.CSRedisClient(null, zoneValues); //初始化 RedisHelper RedisHelper.Initialization(csredis); #endregion
3、使用方式
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace DemoCore.Controllers { [Route("api/[controller]/[action]")] //Api控制器 [ApiController] public class HomeController : Controller { private ILogger _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } // GET: api/<controller> [HttpGet] public IEnumerable<string> Get() { RedisHelper.Set("name1", "祝雷1");//设置值。默认永不过期 RedisHelper.Set("name2", "祝雷2");//设置值。默认永不过期 RedisHelper.Set("name1", "祝雷11");//设置值。默认永不过期 RedisHelper.Set("name2", "祝雷22");//设置值。默认永不过期 RedisHelper.Set("name", "祝雷");//设置值。默认永不过期 string str=RedisHelper.Get("name");//取值 _logger.LogInformation("测试一下,不要紧张!"); return new string[] { "value1", "value2" }; } } }
以上是关于Signalr WebApi客服-客户链接+Redis(集群扩展)的主要内容,如果未能解决你的问题,请参考以下文章
angularjs webapi signalR 聊天框,如 bookmyshow
带有 JWT 身份验证的 SignalR Core Android 客户端返回 NULL