使用Redis数据库系统的评论系统

时间:2011-07-11 16:11:27

标签: comments redis

我正在尝试使用Redis数据库构建评论系统,我目前正在使用哈希来存储评论数据,但我面临的问题是,在10或12条评论之后,评论会丢失订单并开始随机出现,任何人知道应该使用什么数据类型来构建使用Redis的评论系统,目前我的哈希就是这种形式。

postid:评论纪念:用户名“Testcomment”

谢谢,任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用我的网络应用程序,我使用的是这样的格式。

(appname):(postid):(comment id) - The hash of the posts
(appname):(postid):count - The latest comment id

然后我查询(appname):( postid):count键获取我应该运行循环的次数,获取(appname):( postid):( comment id)hash的内容。< / p>

示例代码

$c = $redis->get('(appname):(postid):count');
for($i = 0; $i<$c; $i++) {
    var_dump($redis->hgetall('(appname):(postid):'.$i));
}

答案 1 :(得分:0)

设置哈希值以便按键快速访问,而不是按顺序检索。如果您需要按特定顺序排列的项目,请尝试列表或排序集。

它最初工作的原因是对小集的优化 - 当你只有少量项时,列表是最有效的结构,所以这就是redis在内部使用的。当你获得更多的项目时,需要一个实际的hashmap来进行有效的查询,redis重新排列数据,以便按哈希而不是按顺序排序。