资讯中心

用PHPStan自定义规则检测Laravel中withCount导致的隐式N+1与内存泄漏

#用PHPStan自定义规则检测Laravel中withCount导致的隐式N+1与内存泄漏

线上告警DB CPU飙升至92%,慢查日志显示大量SELECT COUNT(*) FROM orders WHERE user_id = ?,但代码明明用了withCount。深入排查发现,在循环中对已预加载的模型反复调用$user->orders()->count()会绕过缓存触发隐式N+1查询。本文揭示withCount的常见误用,并展示如何通过PHPStan自定义规则拦截此类隐患,避免内存泄漏与性能瓶颈。

阿牛 4
PHP
git checkout
用FastAPI和Celery构建爬虫数据清洗管道:解决去重与字段校验瓶颈

#用FastAPI和Celery构建爬虫数据清洗管道:解决去重与字段校验瓶颈

爬虫数据清洗中,重复数据和字段缺失是常见瓶颈。本文介绍如何用FastAPI作为生产者接收原始数据,通过Celery异步任务队列实现去重、校验和存储的分离。使用Redis分布式锁和Bloomfilter解决高并发下的重复问题,并配置Celery的重试机制处理临时故障。架构解耦后,爬虫崩溃不影响清洗,Worker可独立扩容。

阿牛 5
git checkout
用Ollama部署Llama 3,再通过Nginx让全家设备共享离线大模型

#用Ollama部署Llama 3,再通过Nginx让全家设备共享离线大模型

手头那台32G内存、RTX 4090的主机装了Ollama 0.3.10,拉了llama3:8b和70b。手机、MacBook、iPad全跑来要接口。每台设备都pull一遍5GB起步的模型?脑子进水。核心就三点:一台机器扛模型,其他设备当哑终端直连调用。所有prompt和响应全程不离内网。运维从五台设备各自更新缩成只改host服务器上一个systemd进程和Nginx配置。

阿牛 7
AI
git checkout
用Python和FastAPI实现基于令牌桶与滑动窗口的动态API限流中间件

#用Python和FastAPI实现基于令牌桶与滑动窗口的动态API限流中间件

本文介绍如何用Python和FastAPI构建一个支持令牌桶与滑动窗口双算法的动态API限流中间件。通过Redis存储状态,实现多租户独立配置与热更新,解决固定窗口限流在爬虫分发场景下的窗口切换堆积、令牌清空及多租户资源争抢问题。令牌桶提供突发弹性,滑动窗口做兜底熔断,配置可动态调整无需重启服务。

阿牛 15
git checkout