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


Posted in PHP onJune 14, 2011

通过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比较取出差,再去一一设置。

PHP 相关文章推荐
一个简单的PHP&MYSQL留言板源码
Jul 19 PHP
PHP 在线翻译函数代码
May 07 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
Mar 05 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
composer.lock文件的作用
Feb 03 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 #PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 #PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 #PHP
php学习笔记 类的声明与对象实例化
Jun 13 #PHP
php学习笔记 PHP面向对象的程序设计
Jun 13 #PHP
php学习笔记 数组的常用函数
Jun 13 #PHP
PHP中的函数嵌套层数限制分析
Jun 13 #PHP
You might like
PHP 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
php的字符串用法小结
2010/06/08 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
python模拟鼠标拖动操作的方法
2015/03/11 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
python字符串string的内置方法实例详解
2018/05/14 Python
儿童学习python的一些小技巧
2018/05/27 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Python socket模块方法实现详解
2019/11/05 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
电子商务求职信
2014/06/15 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
教师自查自纠材料
2014/10/14 职场文书
优秀大学生申请书
2019/06/24 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
这样写python注释让代码更加的优雅
2021/06/02 Python
Python中rapidjson参数校验实现
2021/07/25 Python