-
设计一个缓存系统。写出思路。画出图。考虑命中,生存期等多种要素。
答:可以参考memcached -
数据库中有两个字段 id, sorce.假设sorce的取值范围是 5-10;按照以下概率实现sorce数据的更新:
要求考虑性能及扩展性。写出概率分布相关代码。
5(25%) => 6 5(25%) => 7
6(20%) => 7
7(25%) => 8 7(25%) => 6
8(10%) => 6 8(25%) => 9
9(15%) => 8 9(20%) => 10
10(25%) => 9
以下仅供参考:
function getNewScore($num){
$updArr = array(
// ……
6 =>[[20], [7]],
7 =>[[25,50], [8,6]],
8 =>[[10,35], [6,9]],
10 =>[[25], [9]],
);
$num = intval($num);
if (!array_key_exists($num, $updArr)) {
return 'err';
}
$randnum = mt_rand(0, 100);
$rules = $updArr[$num][0];
$shownum = $updArr[$num][1];
$retnum = $num;
foreach ($rules as $rkey => $rval) {
if ($randnum <= $rval) {
$retnum = $shownum[$rkey];
break;
}
}
return $retnum;
}







网友评论