通过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比较取出差,再去一一设置。
批量获取memcache值并按key的顺序返回的实现代码
2019-11-29 14:45PHP教程网 PHP教程
一台memcache时返回是正确的,在有多台memcache时就无法一一对应的按顺序返回。
延伸 · 阅读
- 2022-04-12一文了解如何发现并解决Redis热key与大key问题
- 2022-03-10面试分析分布式架构Redis热点key大Value解决方案
- 2022-03-05ubuntu环境下安装memcache及启动的方法
- 2022-02-28详解React中key的作用
- 2022-01-06详解SSH如何配置key免密码登录
- 2022-01-05uniapp微信小程序:key失效的解决方法
- PHP教程
php中实现进程锁与多进程的方法
这篇文章给大家介绍了单进程的情况的进程锁实现、进程锁实现多进程、进程锁在yii2中的实现以及杀死进程的命令,有需要的朋友们可以参考借鉴,下面来...
- PHP教程
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
我们在搜索一些东西时会经常遇到可以通过空格隔开来达到输入多个条件的目的。今天正好项目中遇到了这个情况,就写了一个函数,将多个条件放到数组...
- PHP教程
Thinkphp5框架异常处理操作实例分析
这篇文章主要介绍了Thinkphp5框架异常处理操作,结合实例形式分析了Thinkphp5框架异常处理操作原理、操作方法与相关使用技巧,需要的朋友可以参考下...
- PHP教程
在windows服务器开启php的gd库phpinfo中未发现
在windows服务器开启php的gd库时,使用cgi之后phpinfo()得到的结果中 Configure Command 中并没有出现gd,很是疑惑,于是搜集了一些,希望对你们有帮助,感兴趣的朋...
- PHP教程
你真的了解PHP中的引用符号(&)吗
php的引用就是在变量或者函数、对象等前面加上&符号,但PHP中的&符号你真的了解吗?真的会用吗?下面随着小编来一起学习学习吧...
- PHP教程
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
前段时间,由于要用 php 进行 Shell 编程时,碰到了 PHP 在 WEB 下可以连接 MySQL 而在 DOS COMMAND 命令行下却连接失败的问题。 ...
- PHP教程
yii框架配置默认controller和action示例
这篇文章主要介绍了yii框架配置默认controller和action示例,需要的朋友可以参考下...
- PHP教程
Yii2实现上下联动下拉框功能的方法
这篇文章主要介绍了Yii2实现上下联动下拉框功能的方法,简单分析了上下联动下拉框功能的概念、原理与实现技巧,需要的朋友可以参考下...