1

我正在运行一个运行良好的网站,我想添加类似 imgur.com 的内容,它是每个图像的简单统计计数器。

Submitted 9 hours ago
222,660 views · 22.61 GB bandwidth

问题是,我使用 CDN,所以我的服务器上没有任何类型的日志。

我想用 memcached 模拟这个计数器,

即:每次我为永久链接打印 img 标签时,计数器都会增加一,然后我可以进行数学运算以获取使用的带宽(热链接图像除外,但这不是重点)。

问题是有很多图像,我不确定 memcached 是最好的工具,在某些时候我将被迫将 memcached 数据放在 mysql 或其他地方,并且快速/易失的“写入”将在那个时候成为一个真正的瓶颈。

您将如何使用 mysql 解决这个简单的统计数据?

4

1 回答 1

0

在处理统计数据和创建大量数据时,我们使用BLACKHOLE 存储引擎取得了不错的效果。

您只需要一个带有id(图像 id)的简单表格,该表格count将用于计算查看次数。

然后在加载页面时,您可以聚合您的图像 ID 并运行如下查询:

INSERT INTO image_stats (id)
VALUES($some_id)
ON DUPLICATE KEY UPDATE count = count + 1

我们使用这种方法来计算高流量网站的页面浏览量(每天大约 600 000 次页面浏览量),而且速度非常快。

于 2012-08-28T17:44:29.417 回答