服务器之家

服务器之家 > 正文

批量获取memcache值并按key的顺序返回的实现代码

时间:2019-11-29 14:45     来源/作者:PHP教程网

通过memcached的getMulti函数来批量获取如下15个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, 

一台memcache时返回是正确的,在有多台memcache时就无法一一对应的按顺序返回。 

这时需要使用Memcached::GET_PRESERVE_ORDER才能按顺序返回数据: 
$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取出已命中的变量组成数据,然后通过array_diff函数与$arr_id比较取出差,再去一一设置。

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部