以下内容全文转载自:无风的雨写的php 读取超大文件
PHP开发很多时候都要读取大文件,比如csv文件、text文件等。这些文件如果很大,比如10个G。这时,直接一次性把所有的内容读取到内存中计算不太现实。遇到这种情况,往往觉得PHP太弱,实则不然。利用生成[……]
标签归档: PHP
PHP -S 监听 80 listen 80 内置web服务器调用示例
微信服务端token分布式更新策略
用到Redis。
最初的逻辑:代码里判定只要token失效就会取toekn更新到Redis中。问题:显而易见,分布式并行后,可能同时有两台或以上同时更新,导致其他设备取回的token失效,然后循环往复,将API次数耗尽。经浩哥指点优化后的逻辑:[……]
PHP array_multisort 键名的小坑
有个需求,用片名做数组键名key,因为涉及到了一个分数字段的排序,发现使用array_multisort排序后,结果出现了0键名的奇怪数据。
经过诊断,发现是2046这部影片名造成的问题。查了下函数说明,确认了原因:定义和用法array_multisor[……]
数据查询超时的逻辑优化
有个系统,前端有个数据查询功能,原始逻辑大概是这样的:前台指定查询开始和结束时间,后台调用MongoDB,提取时间范围内的全部数据直接吐出csv格式文件。
当初估计没考虑数据量太大的情况,后来随着驻地的用户量上升,每日的数据量都变的很庞大,问题随之而来~[……]
一个历史模型的演变
PHP二维数组按某个键值排序
php-fpm多线程并发测试有趣的511
测试同学压测性能一般,所以自己写了个并发的测试,发现每次超过500,都是几乎必定511后出现空返回~
经过查找,找到个靠谱的解释:如果worker进程不够用,master进程会prefork更多进程, 如果prefork达到了pm.max_children上[……]
PHP 引用传递示例
<?php
function foo(&$var)
{ $var++;}$a=5;foo($a);// $a is 6 here
看明白了吗,函数里的变量用了引用,修改后,是直接对函数外的变量有效的。
更新细节参考官方链接:https://php.n[……]
队列和堆栈的区别
堆栈其实是堆和栈,都是内存的不同区域。
一句话形容其区别,就是:队列是FIFO的(先进先出);堆栈式FILO的(现今后出)。整理自:https://www.cnblogs.com/haitao-fan/p/3923531.html[……]