zoukankan      html  css  js  c++  java
  • 热词统计以及Quartz.net的简单使用

    一.热词统计

    方案一:

    设计一个表: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, 5);
                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(5).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();
            }
        }
  • 相关阅读:
    某个牛人做WINDOWS系统文件详解
    常用ASP脚本程序集锦
    LINUX基础:文件安全与权限
    proftpd+mysql+quota
    apache2.0.49tomcat5.0.19jk2建立virtualHost
    URL Redirection(转) Anny
    顶级域名后缀列表(转) Anny
    \u4E00\u9FA5意义 Anny
    How to POST Form Data Using Ruby(转) Anny
    How to get rid of 'Enter password to unlock your login keyring' in Ubuntu(转) Anny
  • 原文地址:https://www.cnblogs.com/XZhao/p/7256960.html
Copyright © 2011-2022 走看看