基于hiredis的投票系统实现
本系统主要实现了简单投票功能,比如:读者给自己喜欢的文章投票,书籍就能得到相应的投票,并且积分也能增长,可以为后续的推荐系统做基础。每一个用户只能投一票,多余的票无效。
对于文章,可以使用散列进行储存,假设有title,votes,scores,published_date四个key:
article:id | |||
---|---|---|---|
title | votes | scores | published_date |
为了实现每个读者只能投一票的限制,需要使用一个集合(SET)来存储已经投票的读者:
voted:article:id | |||
---|---|---|---|
article:id | reader |
首先,当读者在投票时,需要查看voted:article:id集合,检查该读者是否已经投过票。
char *command = (char*)malloc(sizeof(char)*256