批量获取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 相关文章推荐
一个用于网络的工具函数库
Oct 09 PHP
PHP中for循环语句的几种变型
Nov 26 PHP
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
php获取新浪微博数据API实例
Nov 12 PHP
php中apc缓存使用示例
Dec 25 PHP
php分页函数示例代码分享
Feb 24 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
4种PHP异步执行的常用方式
Dec 24 PHP
php使用正则验证中文
Apr 06 PHP
php中使用websocket详解
Sep 23 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 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
第一节--面向对象编程
2006/11/16 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
工作需要写的一个js拖拽组件
2011/07/28 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
vue v-model的用法解析
2020/10/19 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
python+mysql实现简单的web程序
2014/09/11 Python
python optparse模块使用实例
2015/04/09 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
python3.6数独问题的解决
2019/01/21 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
质量月活动总结
2014/08/26 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
个人廉洁自律总结
2015/03/06 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
七年级思品教学反思
2016/02/20 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书