使用memcache实现高并发计数器

标签:Google App Engine

以前曾介绍了一下《使用Sharding Counters技术提升GAE的计数性能》,现在再介绍一下《High-concurrency counters without sharding》

思路很简单,使用2个memcache,一个用于存储增加的计数器,另一个用于上锁。
锁有时间限制,如果未到期,那么就更新memcache里的计数器;如果到期,就创建一个新锁,并把memcache里的值增加到数据库里,并删除现有的memcache里的计数器。

GAE上的JDO/JPA Java持久存储tips

标签:Google App Engine, Java

刚看到Max Ross的一篇《JPA/JDO Java Persistence Tips - The Year In Review》,里面提供了9篇GAE/J的数据库存储方面的技巧。

实际上有些内容对Python也是适用的,看看简介、了解原理即可。

我就不去翻译了,因为对JDO/JPA不甚了解。不过之前有人发信问过我这方面的内容,所以我想应该是有人感兴趣的。

在GAE上实现按“最热门”排序

标签:Google App Engine, Python

在Nick的博客看到一篇《'Most popular' metrics in App Engine》,读了几天终于断断续续地读完了,于是又转载了过来。

首先介绍下“最热门”吧。对一个网站来说,每篇文章都有浏览数和评论数等数据,这些是由浏览者产生的。而这些数目越高,就表明它的流行度越高,也就越热门。网站可以通过给出当前最热门的文章列表,吸引浏览者阅读更多文章,这就是“最热门”的用意。

用Blobstore在GAE上存储二进制文件

标签:Google App Engine, Python

GAE SDK 1.3.0版发布带来了一个好消息,可以用Blobstore来存储大型二进制文件了,上限为单个文件50MB。
不过该服务还是实验性质,API可能会更改,而且必须开启支付(本地测试是免费的)。
目前Blobstore的免费存储配额为1GB,而带宽是和其他请求一样计算的;只要不超过配额,就无需多付费。
下面照惯例,仍只介绍Python版的,这里是官方文档

« 看看还有什么好玩意