通过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-03-10面试分析分布式架构Redis热点key大Value解决方案
- 2022-03-05ubuntu环境下安装memcache及启动的方法
- 2022-02-28详解React中key的作用
- 2022-01-06详解SSH如何配置key免密码登录
- 2022-01-05uniapp微信小程序:key失效的解决方法
- 2021-12-31SpringBoot如何监控Redis中某个Key的变化(自定义监听
- PHP教程
Linux平台PHP5.4设置FPM线程数量的方法
这篇文章主要介绍了Linux平台PHP5.4设置FPM线程数量的方法,较为详细的分析了Linux平台php5.4设置FPM的相关参数、功能及使用技巧,需要的朋友可以参考下...
- PHP教程
PHP面向对象详解(三)
这篇文章主要介绍了PHP面向对象详解(三) 的相关资料,需要的朋友可以参考下...
- PHP教程
PHP编程中的Session阻塞问题与解决方法分析
这篇文章主要介绍了PHP编程中的Session阻塞问题与解决方法,简单分析了php session阻塞的原理、原因与简单解决方法,需要的朋友可以参考下...
- PHP教程
php比较两个指定的日期的实例讲解
在本篇文章里小编给大家整理了一篇关于php如何比较两个指定的日期的相关知识点内容,有需要的朋友们可以参考下。...
- PHP教程
CodeIgniter记录错误日志的方法全面总结
这篇文章主要介绍了CodeIgniter记录错误日志的方法,详细分析了CodeIgniter框架的文件结构与相应的功能,结合实例分析了CodeIgniter框架记录错误日志的实现技巧...
- PHP教程
laravel 输出最后执行sql 附:whereIn的使用方法
今天小编就为大家分享一篇laravel 输出最后执行sql 附:whereIn的使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...
- PHP教程
php eval函数用法 PHP中eval()函数小技巧
本函式可将字符串之中的变量值代入,通常用在处理数据库的数据上 ...
- PHP教程
php curl_init函数用法
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了 ...