按钮点击计数器存入mysql_mysql 写计数器需要注意的问题

MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能 由于并发的时候 不能同时写入一行数据 所以要分开写

 
 

先创建表

CREATE TABLE `article_view`(

`article_id` int(11) NOT NULL,

`pond` tinyint(4) NOT NULL COMMENT '池子,就是用来随机用的',

`view` int(11) NOT NULL,

PRIMARY KEY (`article_id`, `pond`)

)ENGINE=InnoDB;

小访问量的随机池子100个肯定多了,三五个足矣。每次访问的时候,随机一个数字(1-100)作为pond,如何该pond存在则更新view+1,否则插入,view=1。借助DUPLICATE KE

 
 

INSERT INTO `article_view` (`article_id`, `pond`, `view`) VALUES (123, RAND()*100, 1) ON DUPLICATE KEY UPDATE `view`=`view`+1

统计的时候

 
 

SELECT SUM(`view`) FROM `article_view` WHERE `article_id`='123'

2 还有就是用消息队列的 一般用消息队列比较靠谱(特别有百万数据的时候)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值