我正在运行一个起飞很好的网站,我想添加类似于imgur.com的内容,这是每张图片的简单统计数据。
Submitted 9 hours ago
222,660 views · 22.61 GB bandwidth
问题是,我使用CDN,所以我的服务器上没有任何日志。
我想用memcached模仿这个计数器,
ie:每次我打印永久链接的img标签时,计数器将增加1,然后我可以进行数学计算以获得所使用的带宽(热链接图像除外,但这不是重点)。
问题在于有很多图像,我不确定memcached是最好的工具,在某些时候我会被迫将memcached数据放在mysql或其他地方以及快速/易变的“写入“在那时,制造将是一个真正的瓶颈。
你如何使用mysql解决这个简单的统计数据?
答案 0 :(得分:0)
在处理统计数据和创建大量数据时,我们使用The BLACKHOLE Storage Engine获得了良好的结果。
您只需要一个包含id
(图片ID)的简单表格,以及用于计算观看次数的count
。
然后在加载页面时,您可以聚合图像ID并运行如下查询:
INSERT INTO image_stats (id)
VALUES($some_id)
ON DUPLICATE KEY UPDATE count = count + 1
我们使用此方法计算高流量网站上的网页浏览量(每日网页浏览量约为600 000次),而且速度非常快。