当前位置: 首页 > news >正文

代做网页制作网站管网建设方案

代做网页制作网站,管网建设方案,seo标题优化的心得总结,网站竞价开户前言很多时候#xff0c;我们会根据用户最近一段时间的行为#xff0c;做出一些相应的策略#xff0c;从而改变系统的运动轨迹。举个简单的例子来说明一下#xff1a;假设A公司现在有两个合作伙伴(B和C)#xff0c;B和C都是提供天气数据的#xff0c;现在A公司做了一个聚… 前言很多时候我们会根据用户最近一段时间的行为做出一些相应的策略从而改变系统的运动轨迹。举个简单的例子来说明一下假设A公司现在有两个合作伙伴(B和C)B和C都是提供天气数据的现在A公司做了一个聚合接口把B和C的接口融合了那么这个时候要怎么去B和C公司获取数据呢其实这个要考虑的东西有很多很多下面根据本文的主题拿出其中一个点来讨论说明。最简单的做法就是随机调用。当然不是那么简单的随机调用。根据调用的最近一百条数据的得到成功率耗时等指标再根据这些指标去判断一次查询要去那个公司获取数据。思路已经有了这个时候就是怎么实践的问题了。本文介绍的做法是借助redis来完成的。如何用redis来处理redis的list类型可以说非常适合用来处理这个情况。首先可以把查询按顺序写进去一个个的入队。其次写进去之后可以对它进行裁剪保留最近的100条数据。(换句话说我们可以保证在这个list里面最多就是100条数据)最后获取这个list里面的100条数据进行计算即可。正常情况下我们不会把计算放在查询的过程里面在查询的时候只需要一个决策的结果值就可以了当然这个结果值也是计算后写进redis的。所以要将这个计算的过程从查询中独立出来定时去执行即可。总结上面所说的大概可以画出下面这样一样图。其中的第三步操作将查询记录写进list然后进行裁剪这两个操作可以直接操作redis也可以考虑通过MQ去写虽说没什么太大的必要。简单的示例代码查询的控制器[Route(api/[controller])][ApiController]public class AreaController : ControllerBase{ private readonly ILogger _logger; private readonly IRedisCachingProvider _provider; public AreaController(ILoggerFactory loggerFactory, IRedisCachingProvider provider) { _logger loggerFactory.CreateLoggerAreaController(); _provider provider; } [HttpGet(provinceId)] public async Taskstring GetAsync(string provinceId) { var datasource await GetQueryDataSourceIdAsync(provinceId); if (string.IsNullOrWhiteSpace(datasource)) return not support; var beginTime DateTime.Now; var (val, isSucceed) await QueryDataSourceAsync(datasource); var endTime DateTime.Now; var dsInfo new DataSourceInfo { Cost (long)endTime.Subtract(endTime).TotalMilliseconds, IsSucceed isSucceed }; _ Task.Run(async () { try { await _provider.LPushAsync($info:{datasource}, new ListDataSourceInfo { dsInfo }); await _provider.LTrimAsync($info:{datasource}, 0, 99); } catch (Exception ex) { _logger.LogError(ex, $record #{datasource}# error); } }); return val; } private async Taskstring GetQueryDataSourceIdAsync(string provinceId) { var datasourceIds GetDataSourceIdProvinceId(provinceId); if (datasourceIds.Count 0) return string.Empty; var cacheKey dskpi; var kpis await _provider.HMGetAsync(cacheKey, datasourceIds); var datasource datasourceIds.First(); if (kpis ! null kpis.Any()) { datasource kpis.OrderByDescending(x x.Value).First().Key; } return datasource; } private async Task(string val, bool isSucceed) QueryDataSourceAsync(string datasource) { await Task.Delay(100); var rd new Random().NextDouble(); return (datasource, rd 0.5d); } private Liststring GetDataSourceIdProvinceId(string provinceId) { return new Liststring { 100, 900 }; }}由调度系统触发的计算控制器也可以在Github上面找到上面的示例代码 RecentRecordsDemo
http://www.pierceye.com/news/400473/

相关文章:

  • 订餐网站系统建设方案建一个网上商城需要多少钱
  • 手机网站asp付费抽奖网站怎么做
  • 国际网站哪里做vs2010 c 建设网站
  • 企业网站更新什么内容永城做网站
  • wordpress 众筹网站模板html5风格网站特色
  • 服装设计参考网站重庆景点排名
  • 网至普的营销型网站建设扬州网站商城建设价格表
  • 成品网站价格表简答网站内容建设的时候内链重要性
  • 视频链接生成器某网站搜索引擎优化
  • flash网站案例vi设计是设计什么
  • ip查询网站备案查询企业网络营销推广平台
  • 多城市网站建设免费制作小程序的平台
  • 郑州网站建设出名吗?wordpress获取登录密码
  • 网站建设论文的开题报告重庆市工程建设信息
  • 商务网站设计方案门户网站的优点
  • 河津网站制作wampserver做的网站
  • 洛阳专业网站设计开发制作建站公司零陵区住房和城乡建设局网站
  • 在哪里可以学做网站游戏开发大亨下载
  • 找人做ps的网站无锡 做公司网站
  • 云速建站可以建个人网站吗wordpress仿站难吗
  • 如何取外贸网站域名凡科h5制作教程
  • 蜘蛛不抓取网站的原因中山h5网站建设
  • 百度免费推广网站建网站用的免费软件
  • 网站建设西安哪里好广州做企业网站的公司
  • 汉中市网站建设爱墙 网站怎么做
  • 失物招领网站开发项目需求分析搭建外文网站
  • 免费网站空间免备案自学php做网站
  • 南宁网站建设nnit30郴州市第一职业中专
  • 想开个影视网站 那有做的莱芜信息平台
  • js做网站登录有服务器了怎么做网站