利用Redis系统限制评论次数(redis限制评论)
Redis是一款开源的内存数据库,它可以方便地存储键值对,一般用于分布式缓存,快速数据库查询、消息中间件等等,Redis有着极高的性能。
在网站信息发布系统中,为了防止滥用评论,可以采用Redis来定期地清理评论内容。我们可以维护一个使用评论次数hash表。
一个用户每次发表评论时,就看一下他是否存在于这个hash表中,如果不存在,则将他添加到该hash表,并让使用次数设为1;如果存在,则看一下他的使用次数是否超过指定阈值,如果超过 了指定的评论次数,则不允许发表,否则就增加这个用户的评论次数。
具体代码实现可以如下:
// 用户对评论之前要验证的代码
if (jedis.hexists("comment:username", username)) {
int count = jedis.hincrBy("comment:username", username, 1);
if (count > 3) {
// 评论失败
}
} else {
jedis.hset("comment:username", username, 1);
}
// 程序定期清理过期的评论次数
while(jedis.hincrBy("comment:username", username, 0) != 0){
// 对用户已经发布的评论数量进行清理
if (System.currentTimeMillis() - create_time > 60 * 60 * 24 * 3) {
jedis.hdel("comment:username", username);
}
}
以上就是利用Redis系统限制评论次数,通过这种方法,这减少了有效评论 [who]被滥用的可能性,同时也能有效地清理过期评论,从而减少服务器负载。
香港服务器首选后浪云,2H2G首月10元开通。
后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
版权声明:
作者:后浪云
链接:https://www.idc.net/help/86105/
文章版权归作者所有,未经允许请勿转载。
THE END