主要是控制好获取的数据量就可以了.
赞
踩
刚才看了看飞扬新锐的blog系统,发现使用的是zblog,里面有了现成的tags系统,今天找了一天的tags系统的实现总是不得要领。没有办法,下载zblog的源代码,开始研究一下了。
实现的方法为建立一个blog_tags表存储tags的信息,包括id,name和count and tagurl,以及以后可能用到的intro和其他的附加信息。另外的article表里面有一个tags属性,里面的值为{1}{2}之类的,这个里面1、2其实就是blog_tags表里面每个tags的id。想到添加blog文章的时候他们添加tag的时候估计是把用逗号或者其他分离的tag拿出来分别和blog_tags表比较看看存在了没有,若没有存在就添加,存在则tag的count +1.然后就是tags图的实现方法就是提取blog_tags表里面所有的记录(或者前n条),然后是标准的12px的字体上面根据热度(tag的count)调整字体的大小(12px+(count/2)px)。基本上所有的基于一个简单blog的tag系统就搞定了。不过还是有很多问题需要解决。
1、 如果是每次读取一片新文章的时候都要进行联合查表,现查询article表取出tag属性,在查询blog_tags表取出tags的名称等信息。这样可不可以在article里面直接就存放tag的名称,他的tag的url就直接简单的做tags.aspx?name=tagsname.这样有些方便,不过不知道可不可行。这样就不用联合查表了。
2、 用户tags少的时候用这种方法实现效率几乎不用考虑,如果做成一个成熟的,有几十万个tags的时候是不是还合适啊,速度怎么样啊。这个是个疑惑,没有经验只能凭空猜测了。
3、 Tag的产生可不可以不用输入,而是直接使用lucene.net来做,抽出来tags可能效果和效率更好一些,看了博客园一个兄弟的文章,感觉可行的同时有感觉是不是系统占用的资源更多了,服务器的压力更大了。
是不是有其他的办法,比如豆瓣那种大规模有几百万个tags的系统如何实现的tags系统呢,有没有兄弟给出一点意见呢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。