随笔 - 11
文章 - 0
评论 - 21
阅读 -
7532
随笔分类 - 项目
高并发
这些年写过的花式sql - 第3句 今日流失用户
摘要:#### 第3句 今日流失用户 ##### 需求: 当日流失用户的定义:昨天登录的,今天没登录的用户数 有一张用户登录日志表,有字段 date_stamp(日期时间戳),用户id(uid)。如果用户在某天登录了,该表会有一条记录。 ``` #今天流失人数:昨天登录,今天没登录的 select a.d
阅读全文
这些年写过的花式sql 第2句 统计用户返佣金排名
摘要:#### 第2句 统计用户返佣金排名 继续欢迎批评指正建议 ^^ ##### 需求: 曾经的活动是购买订单返流量(日志在 flow_rebate_log),后来改成返佣金(日志在 money_rebate_log)。 现在需要 按照用户返佣金额排名,如果不存在金额,则按 返流量 排名。其他需要列出的
阅读全文
这些年写过的花式sql - 第1句 删除重复无效的记录
摘要:##这些年写过的花式sql - 第一句 删除重复无效的记录 写好复杂sql可以减少代码量,经过写这些年的后台统计,我学着像写代码一样的设计和尝试sql。现整理如下: 本来想一次性写完的,不过那写起来和看起来都太累了。还是分解一下吧。 如果有不对的或者可以优化的地方,欢迎指正。 ###第1句 ####
阅读全文
修复 导出csv中文乱码
摘要:header('Content-Encoding: UTF-8'); header("Content-type: text/csv;charset=UTF-8"); header("Content-Disposition: attachment; filename={$file_name}.csv"
阅读全文
swoft-个基于 Swoole 原生协程的PHP 微服务框架
摘要:刚才百度了一下swoft框架,官网打不开了,仓库也暂停了。不由感慨。曾经和同事踩了许多坑使用此极其小众的框架完成微服务项目。使用它的唯一目的就是提高程序性能(底层使用了协程),为此大家都学习了很多新知识,解决很多百度都百度不到的问题,赶上了一波docker微服务的潮流。更有同事搭建了k8s集群作为测
阅读全文
高并发解决方案之 mysql悲观锁:select ... for update
摘要:select ... for update 场景:多个进程都先读后写咋办,需要的是让他们串行执行。 比如库存的减少。一般这些操作都是很长一串并且是开启事务的。如果库存刚开始读的时候是1,而立马另一个进程进行了update将库存更新为0了,而事务还没有结束,会将错的数据一直执行下去,就会有问题。所以需
阅读全文
高并发解决方案之 redis 分布式锁
摘要:背景:秒杀服务中要写一个定时任务:活动到期时给order微服务发送关闭订单的通知。这需要改变数据库表中的数据,而集群中服务是多节点的方式进行部署,会出现并发执行的情况,所以采用的redis的分布式锁的实现方式。 Redis 锁(setNx) 特点: 如果没有获取到锁,请求会被丢弃。 只适合 消息队列
阅读全文
高并发解决方案之 redis原子操作(适用于秒杀场景)
摘要:秒杀活动: 秒杀场景一般会在电商网站或(APP/小程序)举行一些活动或者节假日在12306网站上抢票时遇到。对于一些稀缺或者特价商品,一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。 秒杀场景特点: 秒杀时大量用户会在同一
阅读全文