「知识库」下的文章

这是你的默认分类,如不需要,删除即可。

2026-07-21 👤 mdo 👁 0 阅读

think-orm 2.0.62 单独设置数据表字段缓存驱动和数据缓存驱动

think-cache 拥有强大的多通道(Multi-store)管理能力,但问题的根源在于 think-orm 底层的调用机制太死板。即使您在 think-cache 中配置了 file 和 redis 两个完全独立的通道,think-orm 默认也只会向您通过 Db::setCache() 注入

2026-07-01 👤 mdo 👁 4 阅读

WebSocket Server + 独立 RPC Server

从架构角度来说,它已经接近 think-swoole 能做到的极限了,但是我仍然不建议继续这样维护。 原因不是代码写法,而是 think-swoole 本身的事件模型。 第一处问题:addListener() 仍然共享 Worker 你的代码: $rpcServer = $server->addLi

2026-06-25 👤 mdo 👁 3 阅读

Linux | Reqable · API抓包调试 + API测试一站式工具

Reqable是什么? Reqable = Fiddler + Charles + Postman 极简的设计、极高的性能、丰富的功能、桌面手机多端平台。 多协议流量分析 基于经典的MITM中间人代理方案捕获和分析您的应用流量,自适应HTTP/HTTPS/SOCKS4/SOCKS5等多种代理协议,并

2026-06-23 👤 mdo 👁 1 阅读

Redis 缓存余额 + 前端异步局部刷新 + 提供手动刷新按钮

在 ThinkPHP 6 (TP6) 框架下,针对这种对接多个第三方游戏导致页面加载慢的场景,我们可以使用 Swoole 并发请求(最推荐,大幅提升响应速度)或 Redis 缓存结合异步延迟更新 的方案来落地。 以下是具体的 TP6 实现代码和设计方案: 方案一:Swoole 多协程并发请求(针对必

2026-06-19 👤 mdo 👁 0 阅读

自己编写一个自定义的 MCP 服务器

使用 Python 的 mcp 官方库(搭配 FastMCP 框架)是目前最快、最简单的开发方式。你可以像写 FastAPI 一样,通过装饰器快速将 Python 函数转变成 AI 可以调用的工具(Tools)或读取的资源(Resources)。 以下是完整的开发与测试指南。 1. 准备环境与安装

2026-06-17 👤 mdo 👁 2 阅读

为命令创建专属“一键快捷键”

在 Ubuntu 中自定义快捷关机命令,最快的方法是设置终端别名 (Alias)。因为系统关机通常需要管理员权限,我们可以通过配置,实现免输密码一键关机。 按照以下步骤操作,即可完成配置: 1. 配置免密关机(关键步骤) 默认情况下,使用 shutdown 命令需要输入密码。为了实现真正的“快捷”,

2026-06-15 👤 mdo 👁 3 阅读

RpcService.php receive 没有收到数据

我来分析一下为什么 RPC 服务端的 receive 事件没有收到数据。通过查看代码,我发现了几个关键问题: 在 RpcClient.php 中,数据发送使用了 JsonProtocol::encode() 进行编码,它会在 JSON 数据后添加换行符 "\n" 作为结束标记。 在 RpcServi

2026-06-09 👤 mdo 👁 10 阅读

轻量级开源全文搜索引擎:Manticore Search 入门介绍 - 实践

在现代应用中,搜索功能几乎是不可或缺的一环。无论是电商平台、内容网站还是日志系统,都需要高效的全文检索支持。传统数据库的 LIKE 查询性能有限,而重量级搜索引擎如 Elasticsearch 又可能资源占用过高。那么,有没有一种兼具轻量、高性能、易用性的搜索引擎? 今天我们来介绍一款非常实用的开源

2026-05-29 👤 mdo 👁 9 阅读

music-php:全网音乐搜索和下载

music-php 全网音乐搜索和下载 English | 中文 环境要求 PHP >= 5.6 Composer 安装 phar 文件下载安装 在 releases 页面中下载 music-php 或者 music-php.phar 文件。 全局安装 $ composer global requi