自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个人的Code博客

一个人的Code博客

  • 博客(137)
  • 资源 (2)
  • 收藏
  • 关注

原创 对接法大大平台签约协议(合同)

4、设置签约使用电子印章。1、申请法大大企业账号。

2024-04-12 09:31:22 142

原创 kafka与beanstalk的区别

总体而言,选择 Kafka 还是 Beanstalkd 取决于你的具体需求。如果你需要处理大规模的实时数据流并且对持久性存储和数据回放有要求,那么 Kafka 可能更适合;而如果你只需要一个简单的轻量级任务队列系统,那么 Beanstalkd 可能更符合你的需求。Kafka(Apache Kafka)和Beanstalk(Beanstalkd)是两个不同的消息中间件系统,它们在设计和用途上有一些显著的区别。

2023-12-21 15:23:47 1017 2

原创 laravel框架引用kafka

您可以使用生产者发送消息到 Kafka 主题,并使用消费者从主题中消费消息并执行逻辑处理。在 Laravel 中操作 Kafka,可以使用 php-rdkafka 扩展或 confluent-kafka-php 扩展。4、创建一个 Kafka 服务提供者,以便将 Kafka 服务添加到 Laravel 的容器中。以下展示如何使用 confluent-kafka-php 扩展来在 Laravel 中使用 Kafka。6、使用 Laravel 的依赖注入来访问 Kafka 生产者和消费者。

2023-12-21 14:56:00 939

原创 try catch finally和return的执行顺序

程序先执行try,如果遇到异常执行catch块, 有异常:则执行catch中return之前(包括return语句中的表达式运算)代码,再执行finally语句中全部代码,最后执行catch块中return. finally之后也就是4处的代码不再执行。最终结论:任何执行try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的。

2023-10-19 10:53:19 492

原创 golang 编译器 汉化

3、再框中输入chinese进行搜索,出结果后找到如下图所示,点击进行安装。1、找到左上角file选项,点击选中settings进行单机。2、找到settings中找到plugins选中进行点击。4、安装完成后进行重启ide,完美解决。

2023-10-07 10:44:36 545

原创 常见的限流方式

最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的稳定性越来越重要。在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时,我们常常需要通过缓存、限流、熔断降级、负载均衡等多种方式保证服务的稳定性。其中限流是不可或缺的一环,这篇文章介绍限流相关知识。限流是一种用于控制服务访问频率或请求并发量的技术,目的是保护服务免受滥用、恶意攻击或意外流量波动的影响。将单位时间划分为固定的时间窗口,例如1秒,然后限制在该时间窗口内的请求次数。

2023-10-07 10:13:33 285

原创 Laravel 接口 简单 签名验证

1、创建中间件VerifyApiSign。文件,添加我们之前创建的中间件。3、控制器模拟测试方法。

2023-06-08 10:42:29 333

原创 一维数组 先按value排序 再按key排序(倒序)

一维数组先按值排序 再按key排序(倒序)

2023-02-24 10:42:40 169

原创 windows 安装ElasticSearch(es)可视化工具

windows 安装ElasticSearch(es)可视化工具

2022-11-16 16:38:01 1471

原创 windows下搭建ElasticSearch

windows下搭建ElasticSearch

2022-11-16 10:59:15 657

原创 PHP 字符串与二进制相互转换

PHP 字符串与二进制相互转换

2022-06-28 11:03:31 491

原创 beanstalk 常用方法、说明

beanstalk 常用方法、说明

2022-06-16 15:20:24 696

原创 laravel8 beanstalk 使用说明

小编这里使用的是laravel 8版本来做解析1、使用composer 加载组件库,不指定版本号的话默认安装最新版本,安装完成后进行配置2、配置beanstalk服务,这里小编把配置摘到env当中了3、put数据使用,不多说直接上代码4、获取beanstalk管道数据5、常用方法参考.........

2022-06-16 15:00:45 315

原创 本地php环境无法请求https,缺少证书解决方案

1、下载本地需要的证书链接:https://pan.baidu.com/s/1HiBF5082pkkgvt2DennJTw提取码:jdu42、找到php安装路径,把下载的证书放入php安装根目录3、修改php.ini,文件中搜索curl.cainfo,把证书地址添加上,4、重启php,搞定...

2022-05-13 14:35:02 1215

原创 PHP多参数token生成与校验

1、密钥设置public $secret_key = 'hgakdfkljalfdjlk';//私钥2、调用方式$info = ['user_id' => 1];//生成密钥$this->CreateToken( $info , 60 );//校验密钥$this->CheckToken($token);3、基础方法 /** *功能:生成token *参数一:需要解密的密文 *参数二:密钥 */ funct

2022-04-26 15:57:46 2243

原创 PHP后端token生成与校验

//生成tokenpublic function CreateToken($userid) { $time = time(); $end_time = time() + 86400; $info = $userid . '.' . $time . '.' . $end_time; //设置token过期时间为一天 //根据以上信息信息生成签名(密钥为 SIGNATURE 自定义全局常量) $signature = hash_hmac('md5', $info, S.

2022-04-26 09:44:22 3092

原创 MongoDB Redis 区别

一、概述MongoDB 更类似 MySQL,支持字段索引、where等查询,其优势在于查询功能比较强大,擅长查询 JSON 数据,且能存储海量数据,但是不支持事务。Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,支持多种类型的数据结构,可用作数据库,高速缓存和消息队列代理。 二、具体区别1、内存管理机制Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,

2022-02-14 14:07:05 467

原创 Redis 介绍、场景、数据类型

一、Redis是什么?简述它的优缺点?Redis本质上是一个Key-Value类型的内存数据库,整个数据库加载在内存当中操作,定期通过异步操作把数据库中的数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value 数据库。优点: 读写性能极高, Redis能读的速度是110000次/s,写的速度是81000次/s。 支持数据持久化,支持 AOF(日志追加)和 RDB(快照 save、bgsa

2022-02-14 13:48:44 545

原创 Redis 事务机制实现过程及原理,以及使用事务机制防止库存超卖

一、Redis 事务实现的过程和原理第一步:观察数据客户端在修改数据之前,先使用watch命令观察要修改的数据,这一步相当于记下了数据的版本号第二步:开启事务使用 multi 命令开启事务。开启事务后,所有命令都不会立即发送给Redis,而是先缓存到客户端本地,不会真正执行,直到执行exec命令提交事务的时候,客户端才会一次性把这些命令发送到Redis去执行。第三步:Redis执行命令客户端使用exec提交事务,Redis接收到客户端exec的命令后,会先比较数据的版本号,如果版

2022-02-14 10:53:32 1262

原创 Redis 哨兵机制及配置

一、为什么 Redis 集群中要有哨兵机制Redis 主从复制有一个缺点,当 master 宕机以后,整个集群的写就会挂掉。因为 redis 本身是不会自动从 slave 中选举出新的 master 的。我们理想的情况是:当 master 挂掉之后,可以有 slave 迅速补上,自动切换为 master,不影响整个服务。基于此,引入了 Redis Sentinel(Redis 哨兵机制)。它能够在 master 挂掉之后,自动从 多台 slave 中选举出 新的 master,迅速开始工作,

2022-02-14 10:34:00 1264

原创 Redis 布隆过滤器

什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你“某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现原理HashMap 的问题讲述布隆过滤器的原理之前,我们先思考一下,通常你判断某个元素是否存在用的是什么?应该蛮多人回答 HashMap 吧,确实可以将值.

2022-02-14 10:29:29 5503

原创 Redis 雪崩、穿透、击穿

一、缓存雪崩:概念:缓存雪崩是指缓存中key大批量到过期时间,而这时大量请求同时打过来,引起数据库压力过大甚至down机实际生产中举例:以秒杀活动为例,QPS 达到5000,这时,如果这5000个请求同时访问过来,在redis的缓存没有失效时,这个量级的qps,redis 是可以承受住的。但是如果这时,所有的key都在某一个时间点失效了,而后台还没来得及重新刷缓存(缓存一般是定时任务主动刷新或修改时才刷新),那么这时,所有的请求就将会都直接打入MySQL 数据库。可以想象,MySQL

2022-02-11 17:40:57 480

原创 Redis有哪些数据类型,以及各自应用场景

一、数据类型:String、Hash、List、Set、zSet、HyperLogLog、Geo、Pub/Sub 二、应用场景:1、String(字符串)set、setnx、get、decr、incr、mget缓存层(mysql 存储层,redis做缓存层)、计数器(比如视频播放数,博客浏览数等)、共享session、短信验证码每隔多少秒才可以再获取2、Hash(hashMap)hset、hget、hdel、hlen、hexists、hkeys、hvals、hgetall

2022-02-11 17:31:19 999

原创 MySQL获取并解决当前阻塞

一、概述阻塞通常由于多个线程要对同一个资源加排它锁造成的。第一个线程对某资源加了排它锁,其他线程再想对该资源加排它锁,就只能等上一个进程执行结束释放锁之后才能加排它锁,这也就导致后面的线程会一直等待,进而造成阻塞。现实中举例就是一条道路上,前车停了,后面的车也不能继续动了。 二、获取阻塞1、如果MySQL版本 <= 5.7SELECT b.trx_mysql_thread_id as '被阻塞线程', b.trx_query as '被阻塞SQL',

2022-02-11 16:47:49 1649

原创 MySQL 主从复制的原理、如何实现、常见问题及解决方案

一、环境介绍LNMP(centos7,mysql5.6)vmware workstation pro配置了3个虚拟机,均安装了LNMP环境:master: 192.168.0.105slave: 192.168.0.106、192.168.0.107主从复制架构部署的原则:1、不要有太多的备库(同步binlog也是需要消耗性能的)2、一个备库实例只能有一个主库3、每一个集群库,都必须有一个唯一的服务ID(server-id)  二、原理(1)主数据库进行增...

2022-02-10 18:19:32 415

原创 MySQL CAP定理及使用场景

1、什么是CAP定理CAP定理,也称CAP原则,是一个衡量系统设计的准则。指在一个分布式系统中,一致性(consistency)、可用性(availability)、分区容错性(partition tolerance)三者不可兼得,最多只可得其二。2、三个特性的具体含义一致性(C):所有节点在同一时间的数完全一致可用性(A):服务一直可用,每个请求都能接收到一个响应,无论响应成功或失败分区容错性(P):分布式系统在遇到某节点或网络分区障碍的时候,仍然能够对外提供满足一致性和可用性的服务。

2022-02-10 17:40:26 2384

原创 MySQL 触发器篇

一、概述Mysql 允许通过触发器、存储过程、函数的形式来存储代码。触发器可以让你在执行 Insert、Update、Delete的时候,执行一些特定的操作。可以在Mysql中指定是在Sql语句执行之前触发还是执行后触发。二、使用触发器需要注意的点对每一个表的每一个事件,最多只能定义一个触发器(换句话说,不能在AFTER INSERT上定义两个触发器)。Mysql只支持“基于行的触发”,也就是说,触发器始终是针对一条记录的,而不是针对整个SQL语句的。所以,如果变更的数据集非常大,效率将

2022-02-10 17:33:35 692

原创 MySQL 视图篇

一、概述  Mysql 5.0 版本后开始引入视图。视图本身是一个虚拟表,不存放任何数据。在使用 sql 语句访问视图的时候,他返回的数据都是在查询过程中从其他表动态生成的。二、使用视图1、创建视图CREATE VIEW comic_view as SELECT comic_id,name,pen_name from comic;2、创建之后,我们就可以像使用正常数据表一样使用视图。SELECT comic_id,name,pen_name from comic_view limit

2022-02-09 18:58:52 235

原创 mysql 存储过程

一、概述  存储过程可以理解为一段 SQL 语句的集合(相当于 PHP 中的一个函数方法,去实现业务逻辑),它们被事先编译好并且存储在数据库中。  调用存储过程与直接执行 SQL 语句的效果是相同的,但是存储过程的一个好处是处理逻辑都封装在数据库端。  当我们调用存储过程的时候,我们不需要了解其中的处理逻辑,一旦处理逻辑发生变化,只需要修改存储过程即可,对调用它的程 序完全无影响。  调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,减少了和脚本语言的

2022-02-09 18:56:41 164

原创 MySQL 锁篇

1、什么是锁?MySQL 中提供了几类锁?锁是实现数据库并发控制的重要手段,可以保证数据库在多人同时操作时能够正常运行。MySQL 提供了全局锁、行级锁、表级锁。其中 InnoDB 支持表级锁和行级锁,MyISAM 只支持表级锁。 2、什么是死锁?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。 3、如何处理死锁?(1)通过 innodblockwait_timeout

2022-02-09 18:32:36 237

原创 MySQL 索引篇

1、什么是索引?索引是一种能帮助 MySQL 提高查询效率的数据结构。 2、索引分别有哪些优点和缺点?优点:(1)快速访问数据表中的特定信息,提高检索速度。(2)创建唯一性索引,保证数据表中每一行数据的唯一性。(3)加速表与表之间的连接。(4)使用分组和排序进行数据检索时,可以显著减少查询中分组和排序的时间。缺点:(1)虽然提高了的查询速度,但却降低了更新表的速度(2)建立索引会占用磁盘文件的索引文件。 3、以下 SQL 有什么问题?该如何...

2022-02-09 18:21:29 1652

原创 mysql 进阶篇

1、说一下 MySQL 执行一条查询语句的内部执行过程?客户端先通过连接器连接到 MySQL 服务器。 连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前执行过此语句)则直接返回缓存数据,如果没有缓存则进入分析器。 分析器会对查询语句进行语法分析和词法分析,判断 SQL 语法是否正确,如果查询语法错误会直接返回给客户端错误信息,如果语法正确则进入优化器。 优化器是对查询语句进行优化处理,例如一个表里面有多个索引,优化器会判别哪个索引性能更好。 优化器执行完就进入执行器,执行器就开始执

2022-02-08 18:04:29 2327

原创 mysql8.0新特性

1、默认字符集由latin1变为utf8mb4在5.6、5.7版本中,默认字符集均为latin1,在8.0版本中,默认字符集已经变为utf8mb42、系统表不再使用MyISAM和MEMORY执行select distinct(ENGINE) from information_schema.tables;获取当前系统表使用到的存储引擎。在5.6、5.7版本中查询结果为:MEMORY、InnoDB、MyISAM、CSV、PERFORMANCE_SCHEMA在8.0版本中查询结果为:InnoD

2022-02-08 17:08:39 2195

原创 PHP基础算法详解

冒泡排序,插入排序,选择排序,快速排序四种基本算法详解需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法,归并排序将下面数组中 的值按照从小到大的顺序进行排序。示例:$arr=array(11,3,56,62,21,66,32,78,36,76,39,88,34);1.冒泡排序冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排.

2022-02-07 18:07:02 138

原创 fastadmin 对列进行权限控制

1、在原有权限基础上新增需要展示列的权限2、在控制器中查询当前用户权限,使用config方式进行赋值,红框内是添加权限时对应的路由3、公共方法,超级管理员不做校验4、js文件修改,Config增加需要使用值...

2022-01-28 12:05:22 1689

原创 PHP 生成0-9 A-Z 随机字符串或数组

/** * 生成0-9 A-Z 随机字符串或数组 * @param int $format 格式 1:字母数字组合 2:纯数字 3:纯字母 * @param int $count * @param string $type * @return array|string */ public function getMixedChars($format = 1,$count = 6, $type = 'str', $data = []) .

2022-01-26 14:44:10 790

原创 PHP 检测字符串、数字是否存在连续字符

/** * 检测数字是否存在连续性或3位一样 * @param string $newPassword * @return bool */ public function check_number($str = ''){ $match = '(123|234|345|456|567|678|789)'; preg_match_all('/'.$match.'/', $str, $res); if(!emp.

2022-01-26 14:42:37 713

原创 Mac 安装PHP低版本

1、搜索PHP版本brew search php发现没有5.X,7.1,7.2版本,因为升级原因导致低版本php无法使用2、执行 brew search php 后发现没有 php5.6, 解决方法就是 tap 一下。tap一下1 brew tap shivammathur/php 如果 tap 超时, 则用浏览器打开https://github.com/shivammathur/homebrew-php, 下载压缩包或者直接百度云下载百度云:https...

2022-01-06 16:08:53 1648 1

原创 fastadmin 框架中图片点击放大

1、将下面代码放在backend-init.js文件中$('body').on('click', '[data-image-show]', function () { var img = new Image(); var imgWidth = this.getAttribute('data-width') || '480px'; img.onload = function () { var $content = $(img).ap

2021-12-29 20:08:33 765 1

原创 时间单位换算

1、皮秒(英语:picosecond )代表符号 ps1皮秒等于一万亿分之一秒(10-12秒)1000 皮秒 = 1纳秒1000000 皮秒 = 1微秒1000000000 皮秒 = 1毫秒1000000000000 皮秒 = 1秒2、纳秒(英语:nanosecond ),代表符号 ns1纳秒等于十亿分之一秒(10-9秒)1 纳秒 = 1000皮秒1000 纳秒 = 1微秒1000000 纳秒 = 1毫秒1000000000 纳秒 = 1秒3、微秒(英语:m...

2021-12-16 10:26:47 2378

fastadmin 七牛云

fastadmin 七牛云组件

2021-12-28

fastadmin alioss上传

fastadmin 阿里oss上传组件

2021-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除