基于levelStr的无限级分类的实现

2022-06-14
阅读 6 分钟
837
这样的设计有个需求是比较难实现的:获取指定分类的所有下级分类的数量。当然,递归是可以实现这样的需求,但是效率非常低。因此将数据表优化optimization

hyperf如何使用自定义连接池pool

2021-12-10
阅读 2 分钟
2.5k
在方法createConnetion返回的是一个接口ConnectionInterface,所以需要我们自定义MyConnection类并实现接口ConnectionInterface

php编辑Word并转为Pdf的实战记录

2021-01-07
阅读 2 分钟
5.7k
php操作Word进行模板变量替换安装PHP操作Word的扩展 {代码...} Word模板假设我们的Word名称叫做 iamking.docx,如图PHP代码替换空白项目中创建PHP文件,index.php {代码...} 将Word转为PDF文档平时用的最多的也就是Linux中操作,需要安装一个libreoffice服务。本机环境centos7 {代码...} 假设我们上一步保存的文件iamking...
封面图

gitea和golang组合实现hook自动化部署代码

2020-10-24
阅读 1 分钟
4.6k
目前git代码仓库develop分支的代码要经常更新到测试服务器,使用传统的FTP上传代码太费力,使用git pull手动拉取分支,也不够放心。现在使用git中的hook来进行自动化部署代码。

基于PHP swoole扩展的秒杀思路

2020-08-06
阅读 2 分钟
4k
基于PHP swoole扩展的秒杀思路经过ab压力测试,脚本QPS平均值在4500 {代码...} 脚本代码,思路基本上也在代码注释中说明白了 {代码...} {代码...} 代码仓库[链接]这是本人自己写的框架,CLI模式,常驻内存性能高,感兴趣的可以提提建议,帮助一起优化。感谢star秒杀秒杀实现方式较多,选择适合自己的最好

Linux监控进程,进程关闭自动重启方案

2019-12-06
阅读 2 分钟
10.2k
Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件。 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 {代码...} supervisor方案 此方案反应速度快,对系统资源消耗较大 安装Python {代码...} 安装Supervisor easy_install supervisor 查看是否成功 echo_su...

PHP守护进程利用Redis队列实现业务

2019-12-02
阅读 4 分钟
3.5k
PHP可以用 GO也可以用这个不限制 队列使用场景,大量用户信息推送,大量祝福短信发送等 核心技术点 Redis的lpush brpop lpush 负责向key中写入数据 brpop 阻塞模式获取key中的值从而实现业务 模拟实例。向用户发送短信 PHP版代码2.0 生成者 {代码...} 消费者 {代码...} PHP版代码1.0 生产者 {代码...} 消费者 {代码...} ...

查找到文中的关键字,给关键字添加上超级链接

2019-06-06
阅读 2 分钟
2.2k
查找到文中的关键字,给关键字添加上超级链接,如果有进行关键词替换的需求仍然可以基于这个类进行修改。替换顺序按照数组的索引来的,可以把规则写入数据里,并添加权重字段,可以动态调整关键词替换或者添加超级链接的优先级。

使用swoole写的PHP API框架,快速应用生产

2019-05-23
阅读 1 分钟
2.5k
github请点击,感谢star[链接]基本内容需要swoole扩展php run.php运行错误信息在php_error.log中查看think-orm modelJWT路由数据库配置 application/Base.php中JWT token有效期以及key在Tool/Tool.php中查看自动加载类文件,不过要注意文件夹名称和命名空间大小写一致NoodlehausConfig处理conf/config.json配置文件。实...

基于Redis无序集合实现禁止多端登录

2018-11-30
阅读 1 分钟
2.4k
基于Redis无序集合实现禁止多端登录 应用背景 多个应用端假设名称叫做A和B,禁止用户从A B同时登录,A登录踢B,B登录踢A 实现思路 设置两个无序集合a_set, b_set a b 登录的时候执行 {代码...} {代码...} api获取数据之前判断该端的id是否在线(AB两个端的api是分开的) A判断 {代码...} B判断 {代码...} 用到的方法 sadd k...

利用Redis单点登录跨服务器的方法

2018-11-29
阅读 1 分钟
2.7k
登录的时候,获取userid对应的oldtoken删除掉,再设置新的token,Redis设置 {代码...} 请求数据的时候获取userid对应的token,判断token的值的内容,获取不到数据就不返回数据 {代码...} 这个不能规避安全性问题,需要每次请求的时候携带校验串【非对称加密】

基于Redis消息队列实现的消息推送

2018-11-28
阅读 2 分钟
7.2k
基于Redis消息队列实现的消息推送 基本知识点 重点用到了以下命令实现我们的消息推送 brpop 阻塞模式 从队列右边获取值之后删除 brpoplpush 从队列A的右边取值之后删除,从左侧放置到队列B中 逻辑分析 在普通的任务脚本中写入push_queue队列要发送消息的目标,并为目标设置一个要推送的内容,永不过期 RedisPushQueue中b...

基于redis的消息队列和键空间通知实现商品抢购和限时支付

2018-11-22
阅读 2 分钟
5.1k
基于Redis的消息队列实现固定库存商品抢购 {代码...} 基于上面的基础解决购买数量存储,超时不支付订单取消订单并恢复库存 {代码...} {代码...} {代码...}

基于Redis键空间通知实现30分钟未支付取消订单

2018-11-22
阅读 1 分钟
5.2k
代码地址 [链接] 应用背景 订单下单30分钟内未支付,取消订单 发布的求租 求购 拼团超时需求无人响应,退回押金 各种可以使用超时来实现的业务 应用原理 Redis setex 设置一个指定时间的key,setex order_no 1800 1 开启psubscribe监听key过期事件。注意setex psubscribe需要在同一个Redis db里面 业务实现 根据callback...

处理高并发 IO瓶颈解决红包程序

2017-12-27
阅读 4 分钟
3.3k
解决高并发 io瓶颈解决红包程序 本程序模拟的红包抽奖模式。总金额100元,随机用户获得1-10元的红包,直到红包分发完。 redis中luckMoneyMax需要提前设置 {代码...} 正文 {代码...} swoole多线程测试 {代码...} 日志记录结果 2s 100 次就抽取完毕 毫秒 红包金额 毫秒时间1514386342125 红包10元 毫秒时间1514386342106 ...