• 网站特定时间限制访问次数


    原理:

    利用Queque的先进先出性质,

    每次访问 Page 时 Enqueue 当前时间,當 Queue 元素的个数不满足指定的限制次数时,可继续访问,退出判断;

    否则取[Peek]队列首元素 ,判断当前时间与 取出的时间比较,若间隔大于指定时间,则说明特定时间内访问次数没有达到限制值,弹出[Dequeue]首元素,退出判断。否则判断间隔是否小于指定时间,若是不可以。若否可以继续访问。

    伪代码:

    if (queue.Count < num)

    then queque.Enqueue(DataTime.Now.Ticks/1000000) return 正常访问

    time1=queque.Peek

    now=DataTime.Now.Ticks/1000000

    queque.Enqueue(now)

    if(now-time1>指定时间)

    then queue.Dequeue

    return now-time1<指定时间

    return 

  • 相关阅读:
    MySQL decimal unsigned 更新负数不报错却为0
    centos 安装jdk
    CentOS7安装docker
    Cron 时间元素
    PHPStorm
    日志习惯
    HTTP幂等性
    navicat for mysql 10.1.7注册码
    localStorage、sessionStorages 使用
    FreePascal
  • 原文地址:https://www.cnblogs.com/dennysong/p/10988009.html
Copyright © 2020-2023  润新知