批量获取memcache值并按key的顺序返回的实现代码_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比较取出差,再去一一设置。

时间: 2025-01-19 02:30:45

批量获取memcache值并按key的顺序返回的实现代码_php技巧的相关文章

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

通过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_15

php获取从百度搜索进入网站的关键词的详细代码_php技巧

分享一个php获取从百度搜索进入网站的关键词的代码,有需要的朋友可以参考一下: 代码: 复制代码 代码如下: <?php function search_word_from() { $referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:''; if(strstr( $referer, 'baidu.com')){ //百度 preg_match( "|baidu.+wo?r?d=([^\\&]*)|i

用php获取远程图片并把它保存到本地的代码_php技巧

<?php function GrabImage($url,$filename="") {   if($url==""):return false;endif;   if($filename=="") {     $ext=strrchr($url,".");     if($ext!=".gif" && $ext!=".jpg"):return false;end

用php实现的获取网页中的图片并保存到本地的代码_php技巧

复制代码 代码如下: <?php header("Content-type:image/jpeg"); function read_url($str) { $file=fopen($str,"r"); while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); return $result; } function save_img($str) { $result=read_url($st

字母顺序颠倒而单词顺序不变的php代码_php技巧

php面试题说明 : 例如:my name is fanglor => ym eman si orlgnaf php面试题的答案: 复制代码 代码如下: function restr ($str) { $str1 = explode (' ',$str); $str2 = ''; $temp = ''; for ($i=0;$i<count ($str1);$i++) { $str2 .= $temp.strrev ($str1[$i]); $temp = ' '; } return $str

深入Memcache的Session数据的多服务器共享详解_php技巧

一相关介绍1.memcache + memcache的多服务器数据共享的介绍,请参见http://www.guigui8.com/index.php/archives/206.html2.session机制:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息.当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识- 称为sessionid,如果已包含一个sessionid

javascript,php获取函数参数对象的代码_php技巧

例如: 复制代码 代码如下: function say () { alert (arguments[0]+'说:'+arguments[1]); } say ('fanglor','fanglor is a boy !'); 结果:弹出 fanglor 说:fanglor is a boy ! -------------------------------------------------------------------------------- 这个有点类似于php 中的 func_ge

PHP简单获取网站百度搜索和搜狗搜索收录量的方法_php技巧

本文实例讲述了PHP简单获取网站百度搜索和搜狗搜索收录量的方法.分享给大家供大家参考,具体如下: 获取网站百度搜索和搜狗搜索的收录量代码,可以用于获取网站域名在搜索引擎的收录数量,一直想找这个API但没找到,就在网上找了个例子,学习修改了下,可以正常获取百度搜索和搜狗搜索的收录量了:原理是获取搜索引擎site:domain的结果数量,然后再抓取这个数量显示出来.   function baidu($url){ $baidu="http://www.baidu.com/s?wd=site:&quo

php对二维数组按指定键值key排序示例代码_php技巧

复制代码 代码如下: function array_sort($array, $key){ if(is_array($array)){ $key_array = null; $new_array = null; for( $i = 0; $i < count( $array ); $i++ ){ $key_array[$array[$i][$key]] = $i; } ksort($key_array); $j = 0; foreach($key_array as $k => $v){ $ne