一.热词统计

方案一:

设计一个表:ID       KeyWord     Count

当用户再输入框中查询的时候,我们就往表中插入数据,在插入之前首先判断是否已经存在keyword,存在的话,让Count+1

这种方案非常费时

方案二:

表 :ID      Keyword     Count

每次用户输入的时候直接插入,不需要判断是否存在,当进行热词展示的时候,通过Group By语句进行统计

同样比较费时

方案三:

表一明细表:ID   Keyword

表二汇总表:ID   KeyWord   Count

用户每次输入并进行查询的时候,将数据插入到明细表中,然后使用定时任务,当用户量访问量比较小的时候,执行汇总操作,将数据插入到汇总表中。

这种实用性比较高

方案四:

对于用户访问量比较大的数据,采用关系型数据库,速度还是太慢。可以使用NoSql数据库,可以有效的解决高并发。

二.Quartz.net(计划任务组件)的简单使用

1.主要的dll文件

2.Quartz.net的使用有两种方式,1.采用配置文件的方式配置参数 2.直接在程序中使用代码设置参数,此处直接使用官方的demo中的例子,并适当的修改

  static void Main(string[] args)
{
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sched = sf.GetScheduler();
//代码添加job和trigger DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(null, );
IJobDetail job = JobBuilder.Create<KeywordJob>()
.WithIdentity("job1", "group1")
.Build(); // Trigger the job to run on the next round minute
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartAt(startTime).WithSimpleSchedule(x => x.WithIntervalInSeconds().RepeatForever())
.Build();
sched.ScheduleJob(job, trigger);
sched.Start();
Console.ReadLine();
}

3.Quartz.net中主要包括三个主要的对象:计划者(IScheduler)、工作任务(IJob)和触发器(ITrgger),我们可以在工作任务中添加我们需要定时执行的工作。

 public    class KeywordJob:IJob
{
public OA.IBLL.IKeywordCountService keywordService = new OA.BLL.KeywordCountService();
public void Execute(IJobExecutionContext context)
{
keywordService.DeleteAll();
keywordService.InsertAll();
}
}

热词统计以及Quartz.net的简单使用的更多相关文章

  1. Lucene热词统计

    1.建立搜索表 ID KeyWords DT 搜索一次保存一次,id才用guid提高效率 /// <summary> /// 搜索数据 /// </summary> /// & ...

  2. 通过elasticsearch对日志进行搜索热词统计

    通过logstash搜集日志 这里搜集日志可以使用ELK的一个插件filebeat对日志进行处理,并传输到后端的程序 在这里有一个不好的地方, 如果想要直接使用filebeat将日志发送到elasti ...

  3. JFreeChart与AJAX+JSON+ECharts两种处理方式生成热词统计可视化图表

    本篇的思想:对HDFS获取的数据进行两种不同的可视化图表处理方式.第一种JFreeChar可视化处理生成图片文件查看.第二种AJAX+JSON+ECharts实现可视化图表,并呈现于浏览器上.   对 ...

  4. Python 爬取 热词并进行分类数据分析-[简单准备] (2020年寒假小目标05)

    日期:2020.01.27 博客期:135 星期一 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备](本期博客) b.[云图制作+数据导入] ...

  5. 阿里舆情︱舆情热词分析架构简述(Demo学习)

    本节来源于阿里云栖社区,同时正在开发一个舆情平台,其中他们发布了一篇他们所做的分析流程,感觉可以作为案例来学习.文章来源:觉民cloud/云栖社区 平台试用链接:https://prophet.dat ...

  6. Python 爬取 热词并进行分类数据分析-[云图制作+数据导入]

    日期:2020.01.28 博客期:136 星期二 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入](本期博客) ...

  7. Python 爬取 热词并进行分类数据分析-[数据修复]

    日期:2020.02.01 博客期:140 星期六 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...

  8. Python 爬取 热词并进行分类数据分析-[解释修复+热词引用]

    日期:2020.02.02 博客期:141 星期日 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...

  9. 一种O(n)时间复杂度的计数排序算法和Top N热词算法

    排序算法是研究非常广泛且超级经典的算法,主流排序算法的时间复杂度基本都在O(nlogn). 今天就介绍一种以hash表为基础的,时间复杂度能够达到O(n)的排序算法--计数排序: 同时基于它的思想,完 ...

随机推荐

  1. am335x phy led problem

    问题描述 连接网线的情况下,每次进行软件"reboot",网口的LINK LED能够正常的熄灭,而ACTIVE LED却是亮的. reboot重启之后,LINK的灯正常变亮,而AC ...

  2. 第二百八十三节,MySQL数据库-MySQL存储过程

    MySQL数据库-MySQL存储过程 MySQL存储过程,也就是有点像MySQL函数,但是他与MySQL函数是有区别的,后面会讲到函数,所以注意区分 注意:函数与存储过程的区别 存储过程是:CREAT ...

  3. 电脑的CPU可直接解读的数据机器码

    机器语言(machine language)是一种指令集的体系.这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据. 机器码有时也被称为原生码(Native Code), ...

  4. (转)MFC:Windows如何区分鼠标双击和两次单击

    在Windows平台上,鼠标左键的按下.松开.快速的两次点击会产生WM_LBUTTONDOWN.WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两 ...

  5. Java 的JSON、XML转换方法——目录索引(转)

    JSON及XML的Java序列化.反序列化(转换)在WebService.Ajax数据传递中,用得比较多.如:在用ExtJS.jQuery.mootools以及一些WebService时,你可以需要用 ...

  6. C/C++,从未过时的编程语言之父

    C/C++,持续火爆的编程语言之父 --訪传智播客C/C++学院院长传智·萧峰 编程语言作为实现互联网+基础必备工具,构建着互联网行业美轮美奂的大时代.作为编程语言之父--C语言,更是如鱼得水,在甘愿 ...

  7. 基于bootstrap的Dialog

    function yms_Dialog(container_id, modal_path, handle_function) {     /// <summary>    ///      ...

  8. JS的事件冒泡和事件捕获

    先上结论:他们是描述事件触发时序问题的术语.事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件.相反的,事件冒泡是自下而上的去触发事件.绑定事件方法的第三个参数,就是控制事件 ...

  9. asp.net mvc forms身份认证

    web.config配置 <authentication mode="Forms"> <forms loginUrl="~/Login/Index&qu ...

  10. c#.net常用函数和方法集

    1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.D ...