网站单位时间内限制访问次数

原理:

利用Queque的先进先出性质,每次访问 Page 时 Enqueue 当前时间,當 Queue 元素的个数不满足指定的限制条件时,可继续访问;否则 Peek Queue,判断当前时间与 Peek 的值比较,若间隔大于指定时间,则说明访问次数达到了限制值所需时间间隔大于限制值,Dequeue一个元素,以便下次Enqueue。若时间间隔小于指定的时间,则不允许继续访问。

伪代码:

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 

猜你喜欢

转载自www.cnblogs.com/dennysong/p/10988009.html
今日推荐