(二)Redis投票应用

1. 用hash存储帖子的基本信息:

[img]http://dl2.iteye.com/upload/attachment/0088/4362/99cf9b7b-888f-3671-8718-9a46830ff4dd.png[/img]

2. 使用sorted set来实现按照时间排序和按照投票排序
时间
[img]http://dl2.iteye.com/upload/attachment/0088/4364/783b9f31-2b23-3714-8d01-14187287b34a.png[/img]
投票数
[img]http://dl2.iteye.com/upload/attachment/0088/4367/3ca49bae-3c82-36a5-badb-60ecca8e53d8.png[/img]

3. 由于一个用户不能重复投票,所以需要用一个set来存放,这个article有哪些人投票了
[img]http://dl2.iteye.com/upload/attachment/0088/4373/5d1b2251-e55b-317f-8b71-5339b7d7f21f.png[/img]
如果用新用户投票了,那么这个帖子积分就会增加,并且将此用户的id放入到set中。并且我们限制一个星期之后帖子就不能再投票了。

redis命令如下:
ZADD article_id 1 time
ZSCORE article_id "one" < 1 week
SADD article_id user_id
ZINCRBY article_id 1 score
HINCRBY article_id votes 1


4. 为帖子创建兴趣组:


[img]http://dl2.iteye.com/upload/attachment/0088/4369/46f70bd1-0cbe-3681-b19c-881da73ce5df.png[/img]

[size=large][color=red]ZINTERSTORE的使用方法[/color][/size]

你可能感兴趣的:(redis)