女王控的博客

后端

28 篇文章

接口缓存策略探索

背景 由于有些接口响应时间较长,在接口不需要频繁更新的情况下可以对其进行缓存 实现 cache_tool.py 实现装饰器缓存函数 redis_tool.py 实现删除某个接口的所有缓存结果,这里使用了 redis 的 scan 方法,因为是顺序扫描效率很低,数据量大的时候比较慢 使用时 缓存失效优化 由于上面实现模糊匹配删除缓存 key 即 redis scan 时间过长,需要转换思路通过递增数据版本号来使缓存失效,避免性能问题 cache_tool.py redis_tool.py… »

数据库连接工具 web 版

介绍 dbgate 支持多种数据库连接,详见 https://github.com/dbgate/dbgate?tab=readme-ov-file Dockerfile 以下是开发过程中用到的连接格式 启动 打开 http://localhost:3010 »

前后端调试工具应用

前端远程调试 背景 由于有些时候不方便到用户实地/远程桌面复现 bug,需要远程查看对方网页的控制台,经过预研发现远程调试工具 page-spy-web 比较合适 实现 在开发机(由于开发只能完全控制开发机,同时要保证此开发机能被下面的前端服务器访问)上部署一个 docker 镜像 通过特定域名(可以自定义域名后缀,配合下面的前端服务器),配置 nginx 转发到此开发机 由于前端服务器需要能访问到开发机,所以需要在前端服务器对应的 nginx… »

Python 语法解析器实现复杂搜索

背景 针对 postgres 某个表里面的 labels 字段(labels 字段是一维数组类型)做复杂查询,要求支持常见的且,或,非等等功能 原来的业务逻辑已实现了且,或,非功能,但不支持括号来提高运算符的优先级 方案 显而易见的方案就是实现一个 python 版本的语法解析器来支持各种语法,有以下方案 ply 语法简单易懂,上手有一定难度 pyparsing 语义结构化比较好,比 ply 上手难度要高 综上,采用方案 1 实现 由于后端使用的 django… »

0%