在这里插入图片描述

主题:使用 Swoole 加速你的 CMS 系统,并实现热更新

关于 Swoole 的简介不再在此赘述,各位可以自行查看官网的文档进行详细的了解。

本文以 MyCms 为例,简要说明 Swoole 结合传统的 CMS 系统进行使用,并实现热更新。

CMS系统:MyCms

(目前v3.3+以上版本重新编写了对 Swoole 的支持,移除了包swooletw/laravel-swoole。 使用新版本的用户直接安装后修改Nginx配置即可)

集成 Swoole 问题:

1、系统配置更新后无法实时读取

2、URL 别名生成后访问 404

3、插件安装出现问题

4、修改PHP文件后不生效

功能解决实现:

1、系统配置缓存更新后自行重载热更新

2、URL 路由别名缓存生成后自行重载热更新

3、插件安装/卸载后自行重载热更新

4、PHP 文件修改后,可以通过后台清除缓存进行热更新

Swoole 拓展包

见 MyCmsExpand / Swoole文件夹及根目录 swoole.php

主要文件说明:

1、swoole.phpswoole 服务管理入口文件

2、Expand / Swoole / MySwoole.php服务管理核心文件

3、Expand / Swoole / config.php参数配置文件

4、Expand / Swoole / reset需要重置的服务(session)

Swoole 热更新核心

确认 onWorkerStart 及之前的操作没有加载需要热更新的文件,如果加载了就无法进行热更新

示例包代码

onWorkerStart 中仅加载 Laravel 框架核心功能,onRequest 才处理相关逻辑操作

在这里插入图片描述

在这里插入图片描述

注:该示例包目前仅支持 Laravel 框架使用,如需支持其他框架,请自行修改兼容

更多相关文章

  1. Android(安卓)NDK
  2. Android(安卓)Studio 之一个项目的不同视图结构
  3. Android打包成jar文件方法总结
  4. Android中的Adapter 详解(三)
  5. Android中的数据持久化技术
  6. Android(安卓)Studio 简单介绍和使用问题小结
  7. Android(安卓)ANT 如何编译Jar 和 APK
  8. 截取android正在播放音乐的audio音频流(后台获取android音频流)
  9. Android(安卓)源码分析-Dalvik 虚拟机创建过程

随机推荐

  1. Java IO编程全解(三)——伪异步IO编程
  2. java内存垃圾回收模型
  3. [置顶] Java排序再巩固--BubbleSo
  4. JAVA WEB 中添加中科院分词系统ICTCLAS
  5. Java转dex,dex转smali,smali转Java
  6. Java类的加载和对象创建流程的详细分析
  7. java线程实现与进程(二)
  8. 201521123113 《Java程序设计》第2周学习
  9. java的三大特性之一(继承)
  10. Java使用socket网络编程实现多人聊天室