深入理解高并发超卖一系列问题与解决方案(近7万字详解,跳槽涨薪必备宝藏珍藏级分享)-牛翰网

深入理解高并发超卖一系列问题与解决方案(近7万字详解,跳槽涨薪必备宝藏珍藏级分享)

破除困境带你飞 能遇上高并发的,基本都是有点规模的公司,小公司基本都是CRUD。 想去一线城市跳槽,想去有高并发的公司,但是没有高并发经验,没有高并发的经验,就去不了高并发的公司,去不了...
11个月前
0376
深入理解PHP+Redis实现布隆过滤器(亿级大数据处理和黑客攻防必备)-牛翰网

深入理解PHP+Redis实现布隆过滤器(亿级大数据处理和黑客攻防必备)

布隆过滤器 极简概括 英文名称Bloom Filter,用于判断一个元素是否在一个大数据集合中,如果检测到存在则有可能存在,如果不存在则一定不存在。 Redis官网对于布隆过滤器的说明:https://redis....
11个月前
04512
万字详解PHP+Sphinx中文亿级数据全文检索实战(实测亿级数据0.1秒搜索耗时)-牛翰网

万字详解PHP+Sphinx中文亿级数据全文检索实战(实测亿级数据0.1秒搜索耗时)

Sphinx查询性能非常厉害,亿级数据下输入关键字,大部分能在0.01~0.1秒,少部分再5秒之内查出数据。 Sphinx 官方文档:http://sphinxsearch.com/docs/sphinx3.html 极简概括: 由C++编写的高性...
11个月前
06915
高并发下数据幂等问题的9种解决方案-牛翰网

高并发下数据幂等问题的9种解决方案

置顶说明 严格来说,所谓人云亦云的接口幂等性,大部分场景是要求接口防重或数据幂等,而不是接口幂等,很多人都搞混了。 举例:后端做了支付防重,用户对单一订单重复支付,再次支付不是提示支...
11个月前
0479
深入理解PHP+Redis实现分布式锁的相关问题-牛翰网

深入理解PHP+Redis实现分布式锁的相关问题

概念 PHP使用分布式锁,受语言本身的限制,有一些局限性。 通俗理解单机锁问题:自家的锁锁自家的门,只能保证自家的事,管不了别人家不锁门引发的问题,于是有了分布式锁。 分布式锁概念:是针...
11个月前
03510
3种策略巧妙化解PHP Trait成员属性冲突-牛翰网

3种策略巧妙化解PHP Trait成员属性冲突

说明 PHP语言本身可以用insteadof和as关键字解决多个trait同名成员方法冲突的问题,但是貌似没有直接解决同名成员属性冲突的方案。 虽然属性名冲突极少发生,但是不代表不会发生。 如果是自定义...
11个月前
0377
可控概率抽奖算法-牛翰网

可控概率抽奖算法

说明 本文PHP语言去实现,只实现核心可控概率引擎,库存判断等其它业务需要其它代码配合实现。 代码 /** * @function 封装可控概率的抽奖功能 * @param $arr array 数据集合 * @param $weight_k...
11个月前
0297
抢红包随机金额算法(均衡随机)-牛翰网

抢红包随机金额算法(均衡随机)

最优算法在文末,欢迎参考。 编写抢红包随机算法功能,通常金额是红包支付后立马算好的,而不是抢一个实时随机一个红包金额,避免并发情况下降低性能。 需求 仿照微信发红包功能,现有n个人抢金...
11个月前
0609
从安全、开发、产品三个角度反对用refresh_token续期access_token的观点-牛翰网

从安全、开发、产品三个角度反对用refresh_token续期access_token的观点

说明: access_token: 服务端与客户端通信,有时服务端需要知道客户端的身份,就会用到access_token来用于验证身份。 refresh_token: 但为了保证安全token会设置过期时间,如果直接过期,相当...
11个月前
0398
你写的防止任意文件上传漏洞的代码,不一定安全-牛翰网

你写的防止任意文件上传漏洞的代码,不一定安全

说明:任意文件上传漏洞,很多PHP开发者也会做一些简单的防护,但是这个防护有被绕过的可能。 原生漏洞PHP示例代码: $file = $_FILES['file'] ?? []; //检测文件类型 $allow_mime = [&...
11个月前
04614