- 博客(5)
- 收藏
- 关注
原创 理解递归,栈和堆
递归是通过函数不断调用自身来解决问题的方法。理解递归需要掌握栈和堆的概念:栈是连续内存区,用于快速存储函数调用的临时数据;堆是动态内存区,用于存储运行时对象。递归执行时,函数副本被压入栈中等待结果,当满足终止条件后,结果从最深层开始返回,层层合并得出最终解。递归的本质是先压栈分解问题,再弹栈合并结果。
2025-08-19 10:26:11
322
原创 我对闭包的理解(PHP/Python)
本文介绍了PHP和Python中闭包的实现原理及使用方式。通过计数器示例展示了两种语言的闭包写法:PHP使用use(&$count)捕获引用,Python使用nonlocal关键字。闭包能够保存外部变量状态,延长其生命周期,实现跨调用记忆功能。PHP通过Closure对象、Python通过__closure__属性存储捕获的变量,核心机制类似,都是通过特殊结构保存外部变量引用来实现闭包特性。
2025-08-18 11:42:24
207
原创 在swoole中使用mysql连接池
MySQL连接池是一种预先建立并复用数据库连接的技术,能显著提升系统性能。相比传统PHP每次请求建立新连接的方式,连接池通过复用已有连接,避免了重复TCP握手和权限认证的开销。Swoole框架下,连接池优势更明显:程序启动时创建连接后常驻内存,所有请求均可复用;配合协程可同时复用多个连接提升并发能力。实际应用中,可使用Swoole的Channel类创建协程安全队列作为连接池,通过push/pop操作管理连接。使用完毕后需及时清理连接池资源,避免内存泄漏。连接池能有效降低MySQL压力,提高系统稳定性和并发处
2025-08-17 20:31:24
770
原创 我想说一点swoole的底层原理
Swoole实现高并发高性能的核心原理:通过主进程管理Reactor线程(epoll事件循环)和Worker进程,采用非阻塞I/O和事件驱动机制。Reactor线程利用epoll高效监听大量连接事件,Worker进程并行处理业务逻辑,避免传统PHP的阻塞模式。这种架构结合事件循环、非阻塞I/O和多进程模型,实现了单线程管理万级连接、多进程充分利用CPU资源的高性能特性。
2025-08-13 21:39:01
699
原创 swoole初体验
摘要:作者通过一个实际项目实践Swoole WebSocket服务,用于处理小程序系统通知交互。项目采用长连接替代传统API,以提高资源利用率。技术实现上,配置了SSL加密、Redis连接管理、MySQL连接池,并实现了消息推送、心跳检测等功能。通过定时器处理消息队列,确保实时推送,同时优化了数据库连接管理。该实践既积累了Swoole开发经验,又验证了其在实时通信场景下的优势。
2025-08-11 22:11:14
417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅