摘要: 背景 近期查看公司项目的请求日志,发现有一段来自俄罗斯首都莫斯科(根据IP是这样,没精力溯源)的异常请求,看传参就能猜到是EXP攻击,不是瞎扫描瞎传参的那种。日志如下(已做部分修改): [2023-11-17 23:54:34] local.INFO: url : http://xxx/_ignit 阅读全文
posted @ 2023-11-21 02:09 小松聊PHP进阶 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 源码理解思维的提升 分享一些个人见解。 Laravel里面的某些概念,就像魔术一样,看起来很厉害,当知道魔术怎么变的,就会认为也不过如此。所以不必感觉Laravel里有些概念难以理解。 应当抛除被框架约束思维的枷锁,用PHP设计的角度去思考,关注大概,而不是在在框架层面逐行磨叽。毕竟源码那么多,越是 阅读全文
posted @ 2024-04-21 07:27 小松聊PHP进阶 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 破除困境带你飞 能遇上高并发的,基本都是有点规模的公司,小公司基本都是CRUD。 想去一线城市跳槽,想去有高并发的公司,但是没有高并发经验,没有高并发的经验,就去不了高并发的公司,去不了这样的公司,就没有高并发经验,前狼后虎两头堵的困境,干就完了。 一语道破 超卖问题是属于并发安全问题,在并发情况下 阅读全文
posted @ 2024-04-20 06:38 小松聊PHP进阶 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 温馨提示 不同的组件需要不同的docker配置(例如容器卷,端口,环境变量等),使用你懂得工具看hub.docker.com官方手册。 不要死记硬背,因为这种东西不是天天要写,过段时间就忘了,很容易引起挫败感。 Dockerfile或者Docker-compose的编写,可以安装一些编辑器插件辅助编 阅读全文
posted @ 2024-04-15 02:45 小松聊PHP进阶 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 镜像分层的简单直观体现 在执行docker pull时,会发现多个Pull complete 字样,就能体现分层,如果是一个文件,只会有一个Pull complete 。 docker pull redis Using default tag: latest latest: Pulling from 阅读全文
posted @ 2024-04-14 08:09 小松聊PHP进阶 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 极简概括 官网:https://www.docker.com 利用比虚拟机更加轻量级的容器化虚拟技术,能够低成本的把当前环境快速打包或在新环境部署相同子环境的运维工具,基于Go语言实现,跨平台(支持Linux、Windows、MacOS)。 通俗类比:无论什么牌子什么价位的主机,都可以利用同一个的W 阅读全文
posted @ 2024-04-14 07:09 小松聊PHP进阶 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 布隆过滤器 极简概括 英文名称Bloom Filter,用于判断一个元素是否在一个大数据集合中,如果检测到存在则有可能存在,如果不存在则一定不存在。 Redis官网对于布隆过滤器的说明:https://redis.io/docs/data-types/probabilistic/bloom-filt 阅读全文
posted @ 2024-04-08 23:20 小松聊PHP进阶 阅读(40) 评论(0) 推荐(0) 编辑
摘要: Sphinx查询性能非常厉害,亿级数据下输入关键字,大部分能在0.01~0.1秒,少部分再5秒之内查出数据。 Sphinx 官方文档:http://sphinxsearch.com/docs/sphinx3.html 极简概括: 由C++编写的高性能全文搜索引擎的开源组件,C/S架构,跨平台(支持L 阅读全文
posted @ 2024-03-29 17:06 小松聊PHP进阶 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 置顶说明 严格来说,所谓人云亦云的接口幂等性,大部分场景是要求接口防重或数据幂等,而不是接口幂等,很多人都搞混了。 举例:后端做了支付防重,用户对单一订单重复支付,再次支付不是提示支付成功(接口幂等是要求多次请求返回的结果一致),而是提示请勿重复支付。 很多时候是防重是保证MySQL表数据的幂等,而 阅读全文
posted @ 2024-03-23 15:23 小松聊PHP进阶 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 概念 PHP使用分布式锁,受语言本身的限制,有一些局限性。 通俗理解单机锁问题:自家的锁锁自家的门,只能保证自家的事,管不了别人家不锁门引发的问题,于是有了分布式锁。 分布式锁概念:是针对多个节点的锁。避免出现数据不一致或者并发冲突的问题,让每个节点确保在任意时刻只有一个节点能够对公共资源进行操作, 阅读全文
posted @ 2024-03-23 14:14 小松聊PHP进阶 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 前置概念 无并发的解决方案 一些小型项目,或极少有并发的项目,这些策略在无并发情况下,不会有什么问题。 读数据策略:有缓存则读缓存,然后接口返回。没有缓存,查询出数据,载入缓存,然后接口返回。 写数据策略:数据发生了变动,先删除缓存,再更新数据,等下次读取的时候载入缓存,或一步到位更新数据后直接更新 阅读全文
posted @ 2024-03-20 14:56 小松聊PHP进阶 阅读(59) 评论(0) 推荐(0) 编辑