批量获取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实现多服务器共享SESSION数据的方法
Mar 16 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
解析php防止form重复提交的方法
Jul 01 PHP
php实现查看邮件是否已被阅读的方法
Dec 03 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
php反射类ReflectionClass用法分析
May 12 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 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中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
解析php取整的几种方式
2013/06/25 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
vue如何判断dom的class
2018/04/26 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
js仿360开机效果
2019/12/26 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
简析Python的闭包和装饰器
2016/02/26 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
Python中itertools的用法详解
2020/02/07 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
程序员机试试题汇总
2012/03/07 面试题
七年级音乐教学反思
2014/01/26 职场文书
公司授权委托书范本
2014/04/03 职场文书
化工操作工岗位职责
2014/04/29 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
酒店开业主持词
2015/07/02 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python