摘要:
/*** * 批量更新 * @param string $table 表名 * @param array $values 更新字段(二维数组) * @param string $index key值(主键) * @param array $where where条件 [['user_sn', '=' 阅读全文
摘要:
场景:我们知道用 RabbitMQ 的延时队列可以实现用户下单后在 xxx 时间内未支付,需要自动关闭订单。但如果用户在订单即将过期的最后一秒支付成功、那么这笔订单算不算正常下单?要不要释放库存? 一、下单未支付超时自动关闭订单设计思路 1、以 30分钟 为例,订单表必须的字段 订单状态、订单支付状 阅读全文
摘要:
本次文章完全使用 mysql 自带的 show 命令实现获取,从 connects、buffercache、lock、SQL、statement、Database throughputs、serverconfig7 大方面全面获取监控数据。 1 连接数(Connects) 最大使用连接数:show 阅读全文
摘要:
前言 首先,广为流传的“组合优于继承” 的说法是一种不严谨的翻译,其来源如下:(众多设计模式强调的两个个最核心原则《Design Patterns: Elements of Reusable Object-Oriented Software》) 1.Program to an interface, 阅读全文
摘要:
package main import "fmt" func main() { // 变量定于的语法格式 // 常规写法 var age int age = 30 println(age) //30 //简化 var name string = "jack" println(name) //jack 阅读全文
摘要:
安装 在此我就不再略过TP6的项目创建过程了,大致就是安装composer工具,安装成功以后,再使用composer去创建项目即可。 think-queue 安装 composer require topthink/think-queue 项目中添加驱动配置 我们需要在安装好的config下找到 q 阅读全文
摘要:
<?php $lua = <<<LUA local sequenceKey = KEYS[1] local time = KEYS[2] local result = redis.call("setnx", sequenceKey, 1) if (result == 1) then redis.ca 阅读全文
摘要:
解决方案 本地消息表 本地消息表的关键在于本地有一张存储消息日志的记录表,需要启动一个定时任务去不停地扫描消息日志记录,确保消息能够被发送。具体流程如下图: 上图流程: 1)事务发起方本地事务执行成功,在本地消息表中记录消息日志。2)启动定时任务,循环扫描本地消息表。3)定时任务扫描到消息则发送消息 阅读全文
摘要:
<?php $encryptData = input('encryptedData','','trim'); //小程序加密数据 $iv = input('iv','','trim'); //小程序加密方法 $sessionKey = $_SESSION['session_key']; //小程序登 阅读全文
摘要:
通过php和redis实现一个小功能排行榜,用的数据类型是有序集合:zrevrange 递增排序,zrange 递减排序 /** * 排行榜 */ public function rank() { // $this->zrem($this->cachekey); $this->redis->del( 阅读全文