在线沟通
Avatar

甘蔗

测试/开发

你好呀,欢迎来到我的网站!!!! 网站持续优化中 (找到工作啦!先适应一个月,后续有时间会更新网站!)

专业技能
Python Flask Linux Redis Sqlalchemy Celery 影刀RPA
个人项目
甘蔗知行阁

Flask、Redis、MySQL

这个项目主要是围绕md文档进行一些管理和阅读,并且支持在编辑md文档时添加图片(图片会保存至服务器)。后续有时间会引入AI Agent 来对网站中的文章进行针对与用户技术栈的学习建立

鼠标悬浮可查看更多
甘蔗知行阁

这个项目主要是围绕md文档进行一些管理和阅读,并且支持在编辑md文档时添加图片(图片会保存至服务器)。后续有时间会引入AI Agent 来对网站中的文章进行针对与用户技术栈的学习建立

最新发布
MeiliSearch轻量级全文搜索实战
MeiliSearch轻量级全文搜索实战

本文探讨了在Flask博客项目中采用MeiliSearch替代Elasticsearch实现全文搜索的实践方案。通过对比两者在资源消耗、部署复杂度和中文支持等方面的差异,阐述了MeiliSearch在轻量级场景下的优势。文章详细介绍了Docker部署、索引同步机制以及封装搜索服务的关键技术点,包括自动补全接口设计、AI摘要同步策略和前端防抖优化。该方案通过RESTful API简化了搜索功能集成,在不损失搜索质量的前提下显著降低了系统开销。

搜素引擎 MeiliSearch
Write-Behind:Redis + MySQL 异步写入模式实战
Write-Behind:Redis + MySQL 异步写入模式实战

文章介绍了博客平台中收藏功能的性能优化方案,采用Write-Behind模式结合Redis缓存和MySQL批量更新。通过异步处理机制将用户操作立即写入Redis并标记为脏数据,再由Celery定时任务批量同步到MySQL,使响应时间从80ms降低到30ms。关键设计包括使用Redis的SPOP原子操作防止数据丢失、实现失败回滚机制保障数据最终一致性,并分析了该模式适用的非金融类高频写场景。

Redis 缓存设计
SQLAlchemy Autoflush隐蔽Bug分析
SQLAlchemy Autoflush隐蔽Bug分析

本文深入分析了SQLAlchemy中由于Autoflush机制导致的隐蔽Bug问题。当开发者错误地将字典赋值给ORM对象列属性后,后续触发Lazy Loading时会自动执行Flush操作,而PyMySQL驱动不支持将字典类型作为普通列参数,导致TypeError。问题根源在于对SQLAlchemy会话管理机制的不了解,包括脏数据跟踪、自动刷新等设计原理。解决方案包括使用临时属性存储非持久化数据、转字典后修改、临时关闭Autoflush或确保类型匹配。该案例警示开发者需要深入理解ORM框架底层机制,区分临时数据与持久化数据的处理方式。

Python SQLAlchemy BUG 项目开发BUG 数据库操作