批量获取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 高性能书写
Dec 11 PHP
php 抽象类的简单应用
Sep 06 PHP
php生成略缩图代码
Jul 16 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 PHP
php中执行系统命令的方法
Mar 21 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
Yii框架连接mongodb数据库的代码
Jul 27 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中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
javascript基础知识讲解
2017/01/11 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
javascript实现简易计算器
2017/02/01 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
Python生成密码库功能示例
2017/05/23 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python3.4爬虫demo
2019/01/22 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
工商干部先进事迹
2014/05/14 职场文书
班主任工作实习计划
2015/01/16 职场文书
导游词之扬州大明寺
2019/10/09 职场文书