自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华章酱的博客

记录生活的点点滴滴

  • 博客(114)
  • 收藏
  • 关注

转载 数据库和缓存双写一致性

数据库和缓存(比如:redis)双写数据一致性问题,是一个跟开发语言无关的公共问题。尤其在高并发的场景下,这个问题变得更加严重。我很负责的告诉大家,该问题无论在面试,还是工作中遇到的概率非常大,所以非常有必要跟大家一起探讨一下。今天这篇文章我会从浅入深,跟大家一起聊聊,数据库和缓存双写数据一致性问题常见的解决方案,这些方案中可能存在的坑,以及最优方案是什么。

2024-04-11 16:32:09 7

原创 PHP之PDO_MYSQL扩展安装步骤

yum -y install mysql-devel 即可解决!

2024-02-02 19:24:23 535

原创 PHP 配置Redis拓展及应用

下载源码包,如果下载速度过慢,建议从github镜像下载再上传到服务器。运行phpize,如果你的不在这个位置,可以用find命令找到。以下操作在/usr/local目录下。找到php.ini的位置。

2024-02-02 17:25:20 434

原创 centos7上安装redis

9、使用配置文件启动,并且再后台启动,配置文件的路径。5、进入解压后的文件夹下,编译安装。语言编写的,因此首先需要安装。2、官网上下载依赖包来安装,6、默认的安装路径是在。直接官网上下载,上传到。3、重新加载配置服务。

2024-02-02 14:34:10 185

原创 composer 更新时忽略错误

【代码】composer 更新时忽略错误。

2024-02-02 12:28:25 256

原创 Centos7环境安装PHP8

在https://www.php.net官网中,查看安装包链接,选择上方“download”, Current Stable PHP 8。23.设置环境变量4.创建配置文件,并将其复制到正确的位置。

2024-02-01 17:20:09 700

原创 Centos7安装Nginx-1.21

注释:执行./configure 会检查当前环境是否满足编译要求,检查当前的环境,并且生成makefile,这个Makefile就是编译的时候使用的,make install 把生成的模块拷贝到相应的目录。进入sbin目录,执行./nginx 启动nginx,在浏览器中访问机器ip,可以看到Welcome to nginx!conf 存放nginx配置文件,里面的nginx.conf是nginx的核心配置文件。sbin 存放nginx运行程序,控制nginx的启动,停止,配置重载等。

2024-01-31 17:36:11 975

转载 VMware虚拟机安装和Centos7安装

VMware虚拟机安装(非常详细)从零基础入门到精通,看完这一篇就够了_虚拟机vmware-CSDN博客

2024-01-31 16:02:58 15

原创 设计模式之工厂模式

简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。工厂模式是一种通过工厂类来创建对象的设计模式,它隐藏了对象的创建逻辑,使得代码更加灵活和可维护。:是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。

2023-12-28 11:40:53 375

原创 设计模式之状态模式

首先,我们定义一个抽象状态类(State),这个类中定义了对象的不同状态下的行为接口。状态模式是一种行为型设计模式,它通过将对象的行为封装在不同的状态类中来实现对象的行为改变。一个对象在不同的状态下有不同的行为,而状态模式将每个具体状态封装成一个单独的类,对象在不同状态下只需要改变其内部状态,而无需改变其行为。以上代码中,抽象状态类(State)定义了统一的行为接口,具体状态类(ConcreteState1和ConcreteState2)继承抽象状态类并实现具体的行为。三、状态模式的应用场景。

2023-12-27 12:14:11 905

原创 拖拽排序后端设计与实现-单表单列法

这种方式优点是,查询快,修改慢。而且,修改接口的逻辑较重,处理起来比较麻烦。在接口设计方面,我们让前端传给后端是一个偏移值(offset),offset = y - x。当元素向排序大的方向移动时,offset的为正值;若往排序小的方向移动时,offset`为负值。展示列表时,按照 index 字段进行排序即可。若需要查第n位元素时,元素位置为 index = n - 1。每个元素,都有一个字段index,表示元素的排序信息。新增元素时,序号为当前元素数据总量值。删除元素时,将大于该元素的序号,都减1。

2023-09-06 11:37:02 162

原创 php递归获取所有子分类的ID

【代码】php递归获取所有子分类的ID。

2023-08-30 11:30:50 194

原创 如何安装 Composer

提示:不要忘了经常执行以保持 Composer 一直是最新版本哦!

2023-03-27 10:41:39 2736

原创 Centos7安装Node环境

3,将tar.xz解压成tar文件。2,上传到linux 服务器。将tar文件解压成文件夹。6,查看是否安装成功。

2023-03-27 10:33:53 204

原创 PHP 如何保证接口的安全性

​APP、前后端分离项目都采用API接口形式与服务器进行数据通信,传输的数据被偷窥、被抓包、被伪造时有发生,那么如何设计一套比较安全的API接口方案呢

2023-01-29 10:36:22 1022

原创 高并发下如何保证接口的幂等性?

对于给第三方调用的接口,有可能会因为网络原因而调用失败,这时,一般在设计的时候会对接口调用加上失败重试的机制。总之,当你去设计一个接口的时候,幂等都是首要考虑的问题,特别是当你负责设计转账、支付这种涉及到 money 的接口,你要格外注意喽!当消息被其他消费者重新消费时,如果没有幂等性,就会导致消息重复消费时结果异常,如数据库重复数据,数据库数据冲突,资源重复等。这几种实现幂等的方式其实都是大同小异的,类似的还有使用状态机、悲观锁、乐观锁的方式来实现,都是比较简单的。

2023-01-28 22:04:17 2205 1

原创 PHP中封装Redis购物车功能

加入购物车,移除购物车,清空购物车,查看购物车数量,查看全部商品等等。

2023-01-28 15:48:33 160

原创 Centos7开启SSH连接配置

如果有信息说明已安装了openssh-server,如果输出没有任何结果,说明没有安装。放开端口以及监听地址,去掉#,如下图。

2023-01-10 16:31:39 3567

原创 安装Centos7 minimal后提示无法访问网络

进入/etc/sysconfig/network-scripts目录。从上图看出,系统网卡没有分配ip地址,网卡为ens33。安装好系统后,启动系统,输入用户名、密码,进入系统。并编辑ifcfg-ens33文件。

2023-01-10 16:25:27 276

原创 Laravel 事件(event)+ 队列(queue)基础

此时项目中,会多出两个目录 ,Events 和 Listeners。并会自行创建两个文件 , Demo.php 和 DemoListener.php 如下图所示。最后根目录会出现一个,logs.txt文件,内容和上面的一样。以上就是laravel事件的简单实用,仅供参考。

2022-11-02 18:07:12 1286

原创 laravel事件监听和job有哪些区别

Job关注与正在做的事情:正在注册、正在更新、正在发布、批量发放Event关注与做过的事情:注册完成、更新完成、发布完成、发送完成它们之间可以混合使用, 在 event 中添加 job 任务。

2022-11-02 15:53:14 327

原创 Laravel使用Queue队列的技巧汇总

每一种队列驱动的配置都可以在该文件中找到,包括数据库,Beanstalkd ,Amazon SQS,Redis,以及同步(本地使用)驱动。Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。需要保证送达率的,比如发送短信,因为要调用别人的 api,总会有几率失败,那么为了保证送达,重试就必不可少了。使用队列的时候一定要想明白一个问题,这个任务到底是不是可以异步,如果因为异步会导致问题,那么就要放弃使用队列。

2022-11-02 15:48:59 3483

原创 springboot+quartz报错:Table ‘XXXX.QRTZ_TRIGGERS‘ doesn‘t exist

springboot+quartz报错:Table 'XXXX.QRTZ_TRIGGERS' doesn't exist

2022-09-17 12:07:29 4547 1

原创 如何在本地连接服务器上的MySQL

如何在本地连接服务器上的MySQL

2022-07-23 10:49:02 2517

原创 彻底卸载清理MySQL

如何彻底卸载清理MySQL大体上分为三个步骤:1,卸载软件本身2,清除残留文件3,清理注册表1、第一步:卸载软件本身二、清除残留文件三、清理注册表regeditHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQLHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL..

2022-04-26 10:08:25 1322

原创 PHP 图片转base64编码 和 base64编码字符串转换成图片保存

1、图片转base64编码:/*图片转换为 base64格式编码*/$img = 'uploads/01.png';$base64_img = base64EncodeImage($img);echo '<img src="' . $base64_img . '" />'; function base64EncodeImage ($image_file) { $base64_image = ''; $image_info = getimagesize($image

2021-09-13 16:57:01 14297

原创 png图片改变大小保存 php

<?php //获取源图gd图像标识符 $srcImg = imagecreatefrompng('./yuantu.png'); $srcWidth = imagesx($srcImg); $srcHeight = imagesy($srcImg); //创建新图 $newWidth = round($srcWidth / 2); $newHeight = round($srcHeight / 2); $newImg = imagecreatetruecolor($n.

2021-09-10 19:51:10 152

原创 通用方法 解决/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8‘ not found的问题

1.先查看当前Linux服务器gcc版本中包含哪些库。(注意:要区别当前Linux版本是32还是64,下面的操作是查看64的,下载文件也需要用64)strings /usr/lib64/libstdc++.so.6 | grep GLIBCstrings /usr/lib64/libstdc++.so.6|grep CXXABI以上只要缺少对应的版本,都可通过安装对应缺失的libstdc++.so.6.0.13以上的版本,来解决缺失版本的问题。当前截图中是高版本的libst.

2021-09-02 17:04:38 2941 2

原创 linux系统python2.x升级3.x

服务器CentOS7.6中自带的python版本是2.7.5,平时习惯了python3,第一步先升级一下版本。# 下载wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz# 解压tar -zxf Python-3.7.3.tgz# 安装依赖包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel t

2021-09-02 10:54:29 164

原创 PHP常见的排序算法

1. 冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。代码实现:$arr=array(1,43,54,62,21,66,32,78,36,76,39); function bubbleSort($arr){ $len=count($arr); //该层循环控制 需要冒泡的轮数 for($i=0;$i<$len-1

2021-08-09 12:02:24 113

原创 CentOS 7 yum 安装 PHP7.3

安装 PHPRemi 软件源Remi 软件源 主要提供最新版的 PHP 软件包和其他一些 PHP 扩展工具包,它是针对 Fedora 和 RHEL 系分支变体 (包括:RHEL, CentOS, Oracle Linux 等等) 要安装 PHP,推荐使用 Remi 软件源。Remi 对 PHP 的支持和更新都很积极,可以在第一时间获得新版本的支持。安装 EPEL 源及源管理工具:yum install epel-release yum-utils安装 REMI 源:yum i

2021-02-22 15:44:09 412

原创 ajax表单上传图片和数据

js$('#addbtn').click(function () { var form = document.getElementById("img-form");//获取表单的数据 var formdata = new FormData(form);//格式化表单数据 console.log(formdata); $.ajax({ type: "POST",

2020-09-04 17:25:44 695

原创 支付宝notify_url异步回调不成功问题

1,设置公钥 我们用的是“支付宝公钥”,不要填应用公钥,不然就坑了2,回调域名地址 地址不可以带参数如:http://*****.com/notify.php,千万不要写:http://*****.com/back.php?r=notify 如果url带了参数,可以添加伪静态url,规则例如: RewriteRule ^payment_callback/(.*) index.php?route=extension/payment/$1/callback [...

2020-05-29 11:00:34 2921

转载 5分钟教你3种实现验证码功能

摘要:我们在做一些后台系统的登录验证的时候。难免会用到验证码功能,来辅助进行验证,提高安全性,在我们日常生活中,验证方式无处不在,最多的是短信验证码的方式,通过点击发送验证码,然后手机接收短信,填写验证码才能登陆成功,但是也有一些其他验证码功能也在使用,所以,我就想着来集中记录一下,希望对大家有所帮助...一.数字短信验证码思路:a.两个文本框+一个获取验证码按钮,文本框用来输入...

2020-03-31 16:08:11 4182 1

原创 The fileinfo PHP extension is not installed解决思路

php没有加载或按照fileinfo这个扩展1,找到服务器当前使用的php,比如安装目录在/usr/local/php7,那相对应的phpize路径为/usr/local/php7/bin/phpize2,找到PHP的安装源码,进入ext/fileinfo文件夹,运行/usr/local/php7/bin/phpize3,然后运行 ./configure --with-ph...

2020-01-11 09:46:50 1459

原创 5+app处理返回键问题,后退按钮返回上一页

直接上代码,官网的例子是这样的:// H5 plus事件处理function plusReady(){ // Android处理返回键 plus.key.addEventListener('backbutton',function(){ ('iOS'==plus.os.name)?plus.nativeUI.confirm('确认退出?', function(e){ if(e...

2020-01-08 11:44:03 2747 2

原创 vue返回上一页go()和back()

history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在history.back(0) 刷新history.back(1) 前进history.back(-1) 后退不知道为何,封装成h5+App的时候,安卓端用go不返回,用back却返回...

2020-01-07 16:55:31 3632

原创 npm install 出现Unexpected end of JSON input while parsing near

1,npm cache clean --force2,将仓库地址重新换成淘宝镜像,使用该命令:npm config set registry https://registry.npm.taobao.org3,然后再清除缓存npm cache clean --force

2019-12-26 09:18:34 152

原创 mysql5.7设置允许外部访问

1,mysql -u root -p 登录数据库2,use mysql; 选择基础信息数据库3,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码';4,flush privileges; 清除缓存,重新加载权限...

2019-11-15 14:43:18 2960

原创 CentOS7 轻松部署 Laravel 应用

一、Linux 常用命令# 查找文件位置$ find / -name php.ini# 查看某个程序运行情况$ ps aux | grep php# 查看端口情况$ netstat -ntlp1.1systemctl常用指令$ systemctl start mysqld.service # 启动 MySql$ systemctl stop mysqld.ser...

2019-10-28 14:53:45 3460 1

空空如也

空空如也

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

TA关注的人

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