PHP消费进程经常报 segfault 错误,导致load异常。输出 core 文件使用 gdb 工具分析之后发现是 phpredis 扩展进行 stream write 操作时空指针错误。最为偷懒的方案就是想直接升级 phpredis 3.0.0 to phpredis 3.1.3(中修复了 Fix memory leak and potential segfault 和 Fix Redis/RedisArray segfaults )
在高并发业务下会出现多进程操作同一任务单元的情况,此时需要保障能够互斥的访问共享资源或数据。比如秒杀、抽奖、积分兑换等。此类业务如果出现并发请求,就会出现超发问题,而分布式锁就是快速解决这个问题的简单方案。
为了使程序执行速度更快,所以现有业务中大量使用了缓存机制,这里主要介绍下平时业务中用到的缓存的应用及缓存更新的策略。由于缓存涉及到的场景太多了,所以本次仅介绍书写代码时最最常用的基础知识 – 内存缓存。
全站升级 PHP7 还是比较靠后的,一直等到 2016/06/10 出来 redis 的官方扩展之后才陆续进行。升级过程中出现的问题都记录在了笔记上,格式太乱了,转移到 markdown 比较费力,加个 todo …
以下内容复制自2014年时的笔记,只做了排版的整理,些许内容现在看有些稚嫩,但是作为成长的足迹也一并保留下来,大家仅供参考