我希望在我的Google App Engine python应用上获得一个页面的唯一访问者总数。
现在,在每次请求页面时,我都会调用EACCESS
来获取用户的IP地址,并且我有一个包含所有IP地址列表的实体属性。我遍历此属性并检查用户的IP地址是否已在列表中。如果没有,我添加用户的IP地址。
这显然是一种非常低效的方式来实现唯一身份访问者的总数。
如果有人能就如何以更有效的方式使用更少的资源实现这一目标,我会非常感激吗?
答案 0 :(得分:1)
您可以做的是将App Engine日志导出到BigQuery(在开发人员dahsboard上,打开Logging> Exports。更多详细信息here)。 App Engine日志保存访问者的IP,导出到BigQuery将把它放在一个整洁,可查询的[巨大]表中。
从那里,您可以快速(秒)和便宜地对大量数据运行SQLish查询。您可以每小时左右运行一次唯一身份查询(select * from dataset group by ip
),这样您的数据就会比较新鲜。