我们有一个Android应用程序,拥有大量用户(约300K),使用PHP Web服务进行大量请求和计算。
我们有一个名为getUserRank的函数,它接受user_id& timePeriod根据3个表(使用巨大的连接)计算用户排名,我们在我们的应用程序中为每个用户使用它。
/*
* get user rank of the user according to the specified period
* periods: 0-> all 1-> daily 2-> weekly 3-> monthly
*/
public function getUserRank($user_id, $timePeriod){
// piece of code
}
我在服务器上使用Xcache和mod_php。在以这种方式从数据库请求(通过json将它们发送到应用程序)之前,将这些用户排列存储几个小时是一个很好的工作吗?
$rank = xcache_get($user_id.$timePeriod); // generate cache id using $user_id.$timePeriod
if($rank == null){
// calculate and populate the cache variable
}