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

原理:

利用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 

原文地址:https://www.cnblogs.com/dennysong/p/10988009.html