看到javaeye的新闻顶贴功能,现在正在做的项目中有一类似的“顶”功能。
实现时需要记录log id 和 user id(这两者的数据量可怕的吓人,对数据库不是很了解)
如果有1亿用户,每个用户2篇文章,最大的数据量:1亿*2亿。
javaeye的新闻顶贴功能,猜测如下:
加载新闻时,查询数据库是否顶过?
NO
|
显示如下代码:
[quote]<div id="diggs123" class="diggs">
<a οnclick="new Ajax.Updater('digg123', '/news/digg/123', {asynchronous:true, evalScripts:true}); return false;" href="#">15</a>
</div>
<div id="diggd123" class="diggs_b">
<a οnclick="new Ajax.Updater('digg123', '/news/digg/123', {asynchronous:true, evalScripts:true}); return false;" href="#">我 顶</a>
</div>[/quote]
YES
|
或者 请求相应的链接,成功后返回以下内容:
[code]1 <div id="digg123">
2 <div class="diggd">
3 16
4 </div>
5</div>
6<div class="diggs_b">已 顶</div>[/code]
不知javaeye如何防止无聊者恶意请求相应的链接?
随着数据量的增加,数据库的查询速度令人担忧。
实现时需要记录log id 和 user id(这两者的数据量可怕的吓人,对数据库不是很了解)
如果有1亿用户,每个用户2篇文章,最大的数据量:1亿*2亿。
javaeye的新闻顶贴功能,猜测如下:
加载新闻时,查询数据库是否顶过?
NO
|
显示如下代码:
[quote]<div id="diggs123" class="diggs">
<a οnclick="new Ajax.Updater('digg123', '/news/digg/123', {asynchronous:true, evalScripts:true}); return false;" href="#">15</a>
</div>
<div id="diggd123" class="diggs_b">
<a οnclick="new Ajax.Updater('digg123', '/news/digg/123', {asynchronous:true, evalScripts:true}); return false;" href="#">我 顶</a>
</div>[/quote]
YES
|
或者 请求相应的链接,成功后返回以下内容:
[code]1 <div id="digg123">
2 <div class="diggd">
3 16
4 </div>
5</div>
6<div class="diggs_b">已 顶</div>[/code]
不知javaeye如何防止无聊者恶意请求相应的链接?
随着数据量的增加,数据库的查询速度令人担忧。