基于 Redis 实现分布式锁
前言 之前在写支付回调的时候,因为第三方支付的回调机制有问题,存在并发回调的情况。如果对回调的订单不加锁的话,会造成一笔订单重复处理的情况。 在 Laravel 中使用基于 Redis 的锁非常简单,只需要使用 Cache::lock() 就可以创建和管理锁。 ...
前言 之前在写支付回调的时候,因为第三方支付的回调机制有问题,存在并发回调的情况。如果对回调的订单不加锁的话,会造成一笔订单重复处理的情况。 在 Laravel 中使用基于 Redis 的锁非常简单,只需要使用 Cache::lock() 就可以创建和管理锁。 ...
前言 早在去年 11 月底就已经看过《PHP 实现 Base64 编码/解码》这篇文章了,由于当时所掌握的位运算知识过于薄弱,所以就算是看过几遍也是囫囵吞枣一般,不出几日便忘记了其滋味。 ...
手里拿着锤子,看什么都像是钉子 在放假的这几天,断断续续的看了老李关于 PHP 多进程的文章。 PHP多进程初探 — 开篇 PHP多进程初探 — 孤儿和僵尸 PHP多进程初探 — 信号 PHP多进程初探 — 利用多进程开发点儿东西吧 PHP多进程初探 — 再次谈daemon进程 PHP多进程初探 — 进程间通信二三事 在此基础上又看了下 owner888/phpspider 的多进程实现代码,这个是《我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 》一文所使用的程序。 ...
前言 之前在一些博客上看到过讲如何实现延迟队列,但是平时没用上也没有动手实现过。 在上次面试的时候,面试官也问过我有没有用过延迟队列,最后凭借着记忆讲了下如何用 Redis 的有序集合实现延迟队列,以及有什么缺点。 ...
作者:Dennis_Ritchie 原文地址:https://learnku.com/articles/36655 多看看外面的世界 对于现在很多的 PHP 程序员而言,绝大部分时间都是在做业务有关的代码,其它方面可能涉及的比较少,因此今天准备和大家讲讲不一样的知识,Base64加密算法,上午花了一点儿时间用PHP重新实现了一遍,因为之前使用c写的,中间也出现了一些bug,但是很快修复了,代码我已经上传到了码云php-base64-implemention,希望大家下载下来仔细的分析一哈。 ...