欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

批量獲取memcache值并按key的順序返回的實(shí)現(xiàn)代碼

 更新時(shí)間:2011年06月14日 22:07:20   作者:  
一臺(tái)memcache時(shí)返回是正確的,在有多臺(tái)memcache時(shí)就無(wú)法一一對(duì)應(yīng)的按順序返回。
通過memcached的getMulti函數(shù)來(lái)批量獲取如下15個(gè)ID的值。
31639,33878,177410,9735,589,12076,25953,22447,15368,15358,33853,26658,26659,12477,15366

$md->getMulti($arr_id);
返回的順序:
line_31639,line_33878,line_177410,line_9735,line_589,line_12076,line_25953,line_22447,line_15368,line_15358,line_33853,line_26658,line_26659,line_12477,line_15366,

一臺(tái)memcache時(shí)返回是正確的,在有多臺(tái)memcache時(shí)就無(wú)法一一對(duì)應(yīng)的按順序返回。

這時(shí)需要使用Memcached::GET_PRESERVE_ORDER才能按順序返回?cái)?shù)據(jù):
$arrs = $mem->getMulti($arr_id, $cas, Memcached::GET_PRESERVE_ORDER);
返回的順序:
line_31639,line_33878,line_9735,line_589,line_22447,line_15358,line_33853,line_26658,line_177410,line_12076,line_25953,line_15368,line_26659,line_12477,line_15366,

這其中,如果有沒有命中的變量,那么$cas就起到作用了。$cas返回了命中的變量,遍歷$cas取出已命中的變量組成數(shù)據(jù),然后通過array_diff函數(shù)與$arr_id比較取出差,再去一一設(shè)置。

相關(guān)文章

最新評(píng)論