认识laravel artisan
Laravel 的 Artisan 是一个命令行工具,它提供了许多有用的命令,可以帮助开发者完成各种任务。本文将介绍 Artisan 的一些常用命令和用法。
Laravel 控制台命令详解在 Laravel 中,控制台命令是开发者与应用程序交互的重要方式之一。以下是一些常用的控制台命令及其详细解释和示例。
$this->argument('{参数名称}' ...
laravel 队列小技巧
前言在使用laravel的队列的时候,常常会用到fail,failed,retry,attempts,release等方法,做一个笔记,方便以后查阅。
attempts retry
attempts 当前重试次数
retry 重试次数
每一个attempts都伴随着一个retry,所谓相生相克(不是)
每一个队列job,都会伴随着 attempt
这会告诉我们当前重试次数在第几次.
比如当重试 ...
rocketmq在laravel中的简单实现
前言rocketmq是阿里巴巴开源的分布式消息中间件,本文将介绍如何在laravel中使用rocketmq。
环境准备安装rocketmq直接使用composer安装1composer require aliyunmq/mq-http-sdk
添加composer.json12345{ "require": { "aliyunmq/mq- ...
分布式事务
分布式事务是指事务跨越多个数据库或多个系统的事务,这些数据库或系统分布在不同的服务器上。在当下网络环境,分布式事务是一个不可避免的问题。今年年初阅读到一篇很不错的文章。我根据自己的理解再写一遍。加强自己的理解。
分布式事务基础CAP理论CAP理论是理解分布式系统设计的一个重要概念。它描述了在分布式计算中,系统在满足以下三个特性中的两个时面临的挑战和权衡:一致性(Consistency)、可用性( ...
浙政钉-扫码登录对接
前言单位需要对接浙政钉,实现扫码登录,这里记录一下对接过程。
浙政钉扫码登录登录入口开发者登录
扫码流程图
sequenceDiagram
participant 用户 as 用户
participant 三方应用 as 三方应用
participant 浙政钉登录服务 as 浙政钉登录服务
participant 浙政钉开放平台 as 浙政钉开放平台
用户->>三方应 ...
Oss利用STS上传文件的全生命周期
前言OSS是阿里云提供的对象存储服务,可以用来存储各种文件。上个月接到了一个需求,在一套原有的代码基础上,新增了Oss的文件上传功能。想想这不是很轻松?然后我交给了新来的后端同事。结果令我有点没想到,他居然是先文件穿到应用服务器,然后再上传到Oss。这种操作方式对应用服务器的带宽压力很大,特别是大文件的时候,会需要修改php.ini的配置等等等等。并且还有内存溢出的问题。最后不得不我自己来写了。为 ...
Redis之数据库与缓存一致性问题
前言相信大家一定在面试的时候被问到过这个问题,缓存和数据库,你要如何保证一致性?在多线程的情况下,要如何保证呢?到底是先更新缓存再更新数据库?还是先更新数据库再更新缓存?还是其他的一些方案?这次就来聊聊这个问题。
先更新数据库,再更新缓存举个例子,比如「请求 A 」和「请求 B 」两个请求,同时更新「同一条」数据可能出现的问题 :
sequenceDiagram
participant 请求 ...
Redis之缓存击穿&缓存雪崩
前言缓存击穿是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。缓存雪崩是指在我们设置缓存时采用了相同的过期时间,导致缓存在某一个时间段内集体失效,请求全部转发到DB,DB瞬时压力过重雪崩。
为什么我两种情况放在一起说呢?其实缓存雪崩和缓存击穿,两件事情本质上是非常相似的。都是因 ...
Redis之缓存穿透
前言缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。在接下来的文章中,我们将介绍一种解决方案—布隆过滤器。
流程图
graph TD
A[客户端查询数据]
B{检查缓存}
C[数据库查询 ...
Redis之实用功能-排行榜
前言排行榜,这功能真的太常见,而且也很实用。比如说,我们可以用排行榜来记录用户的积分,然后根据积分来排名。这个功能在游戏中也很常见,比如王者荣耀的排行榜,就是根据用户的积分来排名的。遥想当年,还有人使用mysql直接来进行排行榜查询,这个效率真的是低到爆炸。既然是Redis的文章,我就抛砖引玉,提供2种方式。ZSET和Sort不过在此之前,我先来一波Mysql的排行榜查询。
Mysql表设计12 ...