algorithm – 为Web服务器设计数据结构以存储访问页面的历史记录

前端之家收集整理的这篇文章主要介绍了algorithm – 为Web服务器设计数据结构以存储访问页面的历史记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
服务器必须维护最近n天的数据.它必须首先显示当前访问量最多的页面,然后显示第二天访问量最大的页面,依此类推.

我正在考虑哈希映射的哈希映射.有什么建议 ?

解决方法

外部哈希映射,键入类型为日期,类型为哈希映射的值.

内部哈希映射,其键类型为字符串,包含url,int类型的值包含访问次数.

C#中的示例:

// Outer hash map    
var visitsByDay = 
    new Dictionary<DateTime,VisitsByUrl>(currentDate,new VisitsByUrl());

...

// inner hash map
public class VisitsByUrl
{
    public Dictionary<string,int> Urls { get; set; }

    public VisitsByUrl()
    {
        Urls = new Dictionary<string,int>();
    }

    public void Add(string url)
    {
        if (Urls[url] != null)
            Urls[url] += 1;
        else
            Urls.Add(url,1);
    }
}

猜你在找的HTML相关文章