- 博客(13)
- 收藏
- 关注
原创 Swoole定时器实现毫秒级任务调度
Timer毫秒精度的定时器,底层基于epoll_wait和setitimer实现,数据结构使用最小堆,可支持添加大量定时器,使用最小堆数据结构实现的定时器,类似 JavaScript 的Swoole定时器的添加和删除,全部为内存操作,因此性能是非常高的。Swoole 中的Timer与PHP本身的是不同的。是基于时钟信号 + tick函数实现,一个是最大仅支持到秒,另一个是不支持同时设定多个定时器程序,性能相对来说会比较差。
2025-09-30 09:41:07
344
原创 轮询和长轮询的区别
如果有更新,则进行响应,如果一直没有数据,则会 hold 住请求,直到服务端的数据发生变化,或者等待一定时间超时才会返回。由客户端发送请求,服务器接收请求的过程,通过客户端不断请求,使得客户端能够模拟达到类似实时收到服务器的效果。优点:消息即时到达,和短轮询比起来,明显减少了很多不必要的HTTP请求次数,在无消息的情况下不会频繁的请求,相比之下节约了资源,在无消息的情况下不会频繁的请求。缺点:连接挂起会导致资源的浪费,长轮询会造出非常多的请求,不断的请求可能会造成的影响是数据顺序无法得到保证。
2025-09-30 09:36:45
173
原创 针对前端项目node版本问题导致依赖安装异常的处理办法
比如: node 16.xx 大多都会遇到依赖版本与node版本不适配导致安装报错等问题,并且你不管如何更新还是使用稳定版本的node.js都不起作用,此时你需要修改node版本。5. 进入个人主文件夹,检查各种 local、lib、include 文件夹,删除名字含有node和node_modules的文件和文件夹。这里给出的是我目前使用的14.19.1版本 地址(个人觉得14.x的版本对各个依赖支持都比较稳定),大家可以根据自身的系统进行下载。最后进入node官网下载指定版本node版本,重新安装。
2025-09-30 09:32:35
314
原创 本地化视频分片上传-基于CRMEB的开发思路
上述工具函数中,uploadChunk 函数的具体实现(如请求后端的配置和发送逻辑)以及一些变量的后续处理在提供的文档中未完整呈现,但整体思路是先计算文件 MD5,然后将文件按分片大小分割成多个分片,最后依次上传这些分片,并在上传过程中处理进度和结果。在上述后端代码中,首先接收前端传递的分片相关信息,将分片文件保存到服务器指定目录,然后判断当前上传的分片是否为最后一个分片,如果是则将所有分片文件合并成一个完整的文件,并删除分片文件,最后根据上传情况返回相应的结果信息(包括状态码、消息和文件路径等)。
2025-09-30 09:27:31
1041
原创 phpstorm 配置Xdebug调试
对有有经验的程序员,使用echo()、print_r()、print_f()、var_dump()等函数足以调试php代码,如果你不喜欢这样的话,xdebug就是一个非常好的php调试工具。3. 打开https://xdebug.org/wizard站点将复制的内容全部填写进去,点击 “Analyse my phpinfo() output”按钮进行检测php对应扩展。12.设置断点,开启debug监听,点击绿色的甲壳虫进行开始调试,这个小电话一定的是接通的状态,才可以的。
2025-04-18 09:14:08
836
1
原创 CRMEB从创建数据表到实现最基础增删改查的实现过程
对应控制器中的五个方法,控制器需要先注入StudentServices,才能使用services中的方法,控制器中,获取参数使用request中的getMore或者postMore来获取,到此调用对应的接口,就可以实现数据库简单的增删改查了。总结:CRMEB系统中,每个层级是非常清楚的,controller用来接受和发送数据,services用来组合数据逻辑处理,dao层是用来对数据库的增删改查,model是数据库的模型类,弄懂了这些逻辑和文件层级,以后在在开发中会更方便和快捷。可以实现单条查询的逻辑,
2025-04-18 09:04:15
1273
原创 MySQL安装实战分享
• 勾选“Configure as Windows Service”并设为手动启动以节省资源。:以管理员身份停止服务,启动安全模式并重置密码(具体步骤可参考知识星球文档)。• 使用MySQL Workbench连接本地实例,测试管理功能。(冲突可改为3307),设置root用户强密码(如。• 下载源码包并解压,编译时指定安装路径(如。(安装时选“Custom”模式)。文件,选择安装路径(建议非C盘)。• 修改字符集为UTF-8(编辑。• 若需图形化管理工具,勾选。• 调整内存参数(如。为物理内存70%)。
2025-04-15 10:09:09
734
原创 CRMEB标准版自定义定时任务功能详解
CRMEB标准版的自定义定时任务模块,基于ThinkPHP6框架深度优化,通过可视化配置界面实现零代码任务管理。该功能支持秒级到年度的多维度执行周期设定,并允许开发者直接注入业务逻辑代码,实现如自动发券、数据同步等高频操作。相较于传统开发模式,可节省80%的二次开发时间。步骤1:基础配置点击添加定时任务→ 填写表单字段:•任务名称:赠送优惠券(需语义化命名)•执行周期:支持秒/分/时/天/周/月/年七种粒度示例:选择"每10秒执行" → 系统自动显示周期说明文字•开发密码:需在。
2025-04-14 10:27:21
1349
原创 CRMEB标准版自定义事件功能深度解析
CRMEB自定义事件功能重新定义了电商系统的扩展边界。通过事件驱动架构与低代码注入的结合,开发者能够以“外科手术式”的精度实现业务逻辑扩展,彻底告别“牵一发而动全身”的硬编码困局。无论是精准营销、数据协同还是用户体验优化,这一功能都将成为企业数字化转型的强力助推器。
2025-04-14 10:26:21
710
转载 还不懂Redis?看完这个故事就明白了!
文章目录前言一、Redis的诞生二、缓存过期 && 缓存淘汰三、缓存穿透 && 布隆过滤器四、缓存击穿 && 缓存雪崩前言本文转载:原文链接在这里推荐一个开源的代码,注释清晰,适合新手学习。地址:开源代码一、Redis的诞生你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。说起我的诞生,跟关系数据库MySQL还挺有渊源的。在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用
2021-05-03 12:29:20
193
原创 REDIS 持久化 RDB快照
REDIS 持久化 RDB快照Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是Redis的持久化机制。RDB 持久化生成的 RDB 文件是一个经过压缩的二进制文件,也可以称之为快照文件,通过该文件可以还原生成 RDB 文件时的数据库状态。在指定的时间间隔内,Redis 会自动将内存中的所有数据生成一份副本并存储在硬盘上,这个过程就是「快照」。自动触发(bgsave)执行时,Redis会创建一个子进程进行执行RD
2021-04-22 18:39:04
258
原创 CRMEB 单商户系统,配置人人分销之后,在分销员管理列表中不显示推广员
开源链接:点击获取开源代码CRMEB 单商户系统,配置人人分销之后,在分销员管理列表中不显示推广员的问题。修复办法: 在app/services/user/UserService.php中修改下方代码,将红色代码改为绿色代码getAgentUserList 方法中if (sys_config('store_brokerage_statu') != 2) $where_data['is_promoter'] = 1;getAgentUserIds 方法中if (sys_config('store
2021-04-19 14:19:17
427
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅