自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 windows环境执行composer install出错

现在的项目环境都是要求比较新的版本,就比如今天部署测试一个新框架遇到了下面这些问题,报错原因有以下几点:- PHP版本低了,现在的新项目都是要求PHP8以上版本;- 指令废弃,配置文件禁用即可;- 切换PHP8版本后,扩展没有安装。

2025-03-04 17:10:33 494

原创 RabbitMQ 安装

rabbitmq安装

2023-06-14 14:08:58 2248

原创 MySQL表设计原则

了解mysql表设计原则及字段类型

2023-05-23 19:39:27 4816 1

原创 Docker-dnmp环境搭建

启动完成后需要做一些操作,mysql默认root账号是没有远程连接权限,先通过命令行在mysql5.7和mysql8.0赋予root用户远程权限,生产环境添加专门的远程账号。这里就直接使用 docker-compose 搭建环境,也可以找到镜像创建容器再关联映射端口部署。下面的测试显示的都是成功的流程,如果遇到相同问题参考下面的解决方法,其他问题自行百度。为了方便操作,一般都会把容器的配置文件、日志文件等挂载映射。所在的目录,创建镜像那一步就直接跳过了,执行。是自定义镜像的一套规则,由多条指令构成,在。

2023-04-03 21:31:40 2105

原创 ElasticSearch 基础(七)之分析器

就 ES 基础部分来说这暂时就是最后一篇的文章,写完之后就会学习 MQ 了。本篇内容简单了解 ES 的分析器,最重要的还是根据自己需求去定制自定义分析器,自定义分析器自行了解,这里只是基础。其他比较重要的就是中文分词器了,只需要知道常用的几种中文分词器就可以了。无论是内置的分析器,还是自定义的分析器,都是由一个分词器(tokenizers) 、0或多个词项过滤器()、0或多个字符过滤器()组成。分词器(tokenizer):用于定义切词 (分词)逻辑。

2023-03-20 18:36:30 2677

原创 ElasticSearch 基础(六)之 字段映射类型测试

到现在已经基本熟悉 ES 的映射基本了,现在本篇内容就是开始正式测试,文本内容同之前一样大部分转载于官网文档,这里对映射类型进行了分类,文档中的是按照字母排序的有点乱。。参数作用analyzer定义文本字段的分词器,默认对索引和查询都是有效的。默认分词器使用的关键字分词,英文和汉字都会分成一个个,这是当我们使用 term 只能匹配单个关键字,我们需要根据需求去设置分词器。coerce强制尝试清除脏值以适合字段的数据类型,默认为 true,可以将字符串强制转换为数字和浮点将被截断为整数值。

2023-03-14 16:29:45 1354

原创 ElasticSearch 基础(五)之 映射

映射(Mapping)是定义文档及其包含的字段如何存储和索引的过程。每个文档都是字段的集合,每个字段都有自己的数据类型。映射数据时,创建映射定义,其中包含与文档相关的字段列表,决定字段使用什么分词器解析,是否有子字段等。映射定义还包括元数据字段,如_source字段,用于自定义如何处理文档的关联元数据。MySQLIndex(索引)Table(数据表)Dcoument(文档)Row(行)Fields(字段)Column(列)在 ES 7.0.0之前,映射定义包含一个类型名。

2023-03-07 17:49:51 3662

原创 ElasticSearch 基础(四)之 常用 API 测试

本文示例以 ElasticSearch 8.6.2 版本演示,更详细的 API 参数及用法请参考官方文档。elastic 官网 访问缓慢已常态,还经常无法访问,为了方便看文档,我使用 DownGit 从 GitHub 下载了离线文档,但是下载的离线文档没有左侧API导航栏这个比较坑。还有一点是关于翻译的问题,ES 的中文版版本太低,我们常用的还是英文版,谷歌的翻译功能又不可用,想要翻译成中文可以使用 Edge 浏览器。DownGitGitHub ES 8.6 文档地址(也可选择其他版本)

2023-02-28 18:41:30 3508

原创 Elasticsearch 基础(三)之相关术语概念及原理

上篇熟悉了一下Elasticsearch 安装,本篇内容开始正式熟悉 Elasticsearch 的基础入门知识。

2023-02-23 16:23:22 1644

原创 Elasticsearch 基础(二)之安装

上一篇简单了解了一下 Elasticsearch 的发展史,特性和使用场景,为了方便接下来的数据测试,本篇内容先开始安装 Elasticsearch。

2023-02-15 10:14:15 3468

原创 ElasticSearch 基础(一)之发展史

是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。它被用作全文检索、结构化搜索、分析以及这三个功能的组合。中没有一个单独的组件是全新的或者是革命性的。全文搜索很久之前就已经可以做到了, 就像很早之前出现的分析系统和分布式数据库。革命性的成果在于将这些单独的,有用的组件融合到一个单一的、一致的、实时的应用中。对于初学者而言它的门槛相对较低, 而当你的技能提升或需求增加时,它也始终能满足你的需求。是一个开源的搜索引擎,建立在一个全文搜索引擎库基础之上。Lucene。

2023-02-13 16:11:15 1682

原创 Git 常用操作

git 博客。

2023-01-31 18:14:55 1052

原创 Git 常用命令练习

Git命令联系

2023-01-30 17:51:17 1828

原创 Git 常识

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在GIT CODE中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。

2023-01-13 18:19:39 639

原创 我的创作纪念日

就目前的工作来说还算比较轻松,有充足的时间去学习。讲实话我应该不算一个合格程序员,去年八月份正式对自己的知识点进行整理做笔记,最近才刚下载 C站,掘金,知乎APP,逛逛 github中文社区。就目前来说希望在接下来的一年学习更多的知识,保持写博客的习惯。两年前才开始在C站上写第一篇博客,但是和第二篇文章发布时间却间隔了一年多的时间,去年八月份重新开始记录知识点,就目前来说还是用于做笔记,对知识点进行梳理。目前的创作过程更多的是对知识点的整理,所以我很希望有更多的互动来纠正文章中的错误,共同学习,提升自己。

2023-01-13 10:18:06 594 2

原创 MySQL 主从复制、读写分离

异步复制的优点是 Master 不需要关心备库的状态,Master 不保证事务被传输到 Slave ,如果Master 崩溃,某些事务可能还未发送到 Slave ,切换后可能导致事务的丢失。是阿里工程师陈思儒基于java开发的一款数据库读写分离的项目(读写分离只是它的一个小功能),与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单)。我这里选择的是通用版本的。

2022-12-27 14:58:07 1176

原创 MySQL 索引

从上一篇文章MySQL 简单了解B+树中知道 MySQL 为何选择B+树来做索引,树结构是为了磁盘或其它存储设备而设计的一种平衡多路查找树,树上操作的时间通常由存取磁盘的时间和CPU计算时间这两部分构成,而CPU的速度非常快,所以B树的操作效率取决于访问磁盘的次数,关键字总数相同的情况下B树的高度越小,磁盘I/O所花的时间越少。而B+树的高度比B树低,所以磁盘IO次数会更少;并且B+树叶子节点通过双向指针链接,可以很方便的进行范围查询;

2022-12-19 18:39:58 5173

原创 MySQL 简单了解B+树

父文章锁知识点:大家都知道mysql中数据是存储在物理磁盘上的,而真正的数据处理又是在中执行的。由于磁盘的读写速度非常慢,如果每次操作都对磁盘进行频繁读写的话,那么性能一定非常差。为了上述问题,InnoDB将数据划分为若干页,以页作为磁盘与内存交互的基本单位,一般页的大小为16KB。这样的话,一次性至少读取1页数据到内存中或者将1页数据写入磁盘。通过减少内存与磁盘的交互次数,从而提升性能。

2022-12-07 18:54:04 2102

原创 MySQL的核心日志

MySQL 中有七种日志文件,分别是:redo log(重做日志)、undo log(回滚日志)、bin log(二进制日志)、error log(错误日志)、slow query log(慢查询日志)、general log(一般查询日志),relay log(中继日志)。其中有三个非常重要的核心日志:bin log(二进制日志) 、 redo log(重做日志) 、undo log(回滚日志)。本篇博客就简单了解一下各种日志的记录方式及相关配置,更多底层知识还是需要去看官方文档,本多处都是转载整合,用于

2022-11-16 18:03:57 1667

原创 MySQL锁机制

在这里用到MySQL的锁,本篇文章来讲下MySQL的锁机制,了解锁的种类及实现原理。锁场景问题全局锁全库逻辑备份。

2022-11-03 18:16:00 2200 2

原创 MySQL事务隔离级别

一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)。一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句。

2022-10-25 10:20:39 6797 4

原创 MySQL语句执行过程

本篇文章简单了解一下Mysql语句的执行过程,有助于我们对SQL有比较深入和细致的理解,提高我们的数据库理解能力。本篇博客简单讲了MySQL语句的执行过程,理解这些有助于我们对SQL语句进行优化,以及明白MySQL中的SQL语句从写出来到最终执行的轨迹,有助于我们对SQL有比较深入和细致的理解,提高我们的数据库理解能力。同时,对于复杂SQL的执行过程、编写都会有一定程度的意义。本篇文章参考了许多博客,整合了部分内容,在此基础上做了细微改动,加了一点自己的理解。侵权必删。MySQL执行过程。

2022-10-24 19:04:35 1438

原创 MySQL优化

本文整理一下关于MySQL的优化问题,对于sql的定位、分析、优化的一些步骤做了一些整理。

2022-10-12 14:11:08 1663

原创 MySql 基础知识

在Oracl中有虚拟表技术,MySQL也效仿设置虚拟表。只对当前会话(连接)有效,断开后,临时表自动清除,也可以自己drop table tmp1;优势:提高效率(重用),防止SQL注入(安全)。多个步骤为一个过程的事物(整体),中间有任何一个环节出问题,都会造成事物的回滚。导出一个数据库中每一个表的相关SQL语句,包含建表、增删改查等导入导出速度慢!就像是书的目录,能够提高查询速度,降低写入速度,占用磁盘空间。批量的有规律的mysql操作可以事前存在procedure中,后期调用。use 数据库名;

2022-10-11 17:17:23 346

原创 php和Java的简单对比

综上所述,就Web开发而言,PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高。而且Java本身就不是专门给WEB开发用的,所以Java开发电子商务的成本要远远高于PHP开发出来的同类软件产品。

2022-10-11 16:30:17 6726 5

原创 PHP 常用框架

目前在这个公司用的都是CI框架,在之前的公司也有用到过TP框架和Laravel框架,下面总结一下这三个框架区别。后面也找了一些PHP其他的常用框架。关于TP和Laravel的对比可以看看这里。小型项目:CodeIngiter中型项目:CakePHP、Zend Framework、Laravel、Thinkphp大型重量级项目:Yii、Symfony、Laravel以上划分也不绝对,在项目选型的时候,要充分考虑框架的可以定制性、扩展性,因为每个项目都无法确定你是否会随着需求的变化进行改变。

2022-10-11 10:57:52 8539

原创 PHP 设计模式 - 策略模式

是创建型的设计模式,它接受指令,创建出符合要求的实例;使用依赖注入,最重要的一点好处就是有效的分离了对象和它所需要的外部资源,使得它们松散耦合,有利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。男女用户跳转到不同的页面,并且所有的广告位展示不同的广告, 如果某天新增了一种中性的性别,则需要在所有判断的地方进行修改,使用策略模式规避修改。是为了解决的是策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。一个关注行为的封装。

2022-10-09 12:22:15 336

原创 PHP 设计模式 - 适配器模式

适配器模式其实也是一种为了解耦的设计模式,为了让客户端的调用变得更简单统一,将源接口转换为目标接口的过程封装到特定的过程中,这个过程就叫适配。适配器模式将原本不兼容的接口转换为客户期望的接口,使得原本由于接口不兼容而不能一起工作的类能够一起工作。

2022-10-09 10:08:49 627

原创 PHP 设计模式 - 注册模式

单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。首先,单例模式创建唯一对象的过程本身还有一种判断,即判断对象是否存在。总的来说,单例模式和工厂模式可以产生更加合理的对象。不管你是通过单例模式还是工厂模式还是二者结合生成的对象,都统统给我“插到”注册树上。我用某个对象的时候,直接从注册树上取一下就好。而且注册树模式还为其他模式提供了一种非常好的想法。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。

2022-10-08 17:16:30 298

原创 PHP 设计模式 - 观察者模式

传统的编程方式,就是在事件的代码之后直接加入处理逻辑,当更新得逻辑增多之后,代码会变得难以维护。这种方式是耦合的,侵入式的,增加新的逻辑需要改变事件主题的代码。观察者模式通常用在实时事件处理系统、组件间解耦、数据库驱动的消息队列系统,同时也是MVC设计模式中的重要组成部分。如:登录(时间,次数,用户信息,日志等),创建订单(系统消息,短信,日志等)等事件时的相关操作处理都可以用到观察者模式。观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新。

2022-10-08 15:08:02 576

原创 PHP 设计模式 - 工厂模式

一个抽象产品类,可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类只能创建一个具体产品类的实例。多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类可以创建多个具体产品类的实例。三种工厂的比较简单工厂 :用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力[修改原方法])工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品)

2022-09-26 19:23:16 1854

原创 PHP 设计模式 - 单例模式

单例模式,顾名思义就是只有一个实例。单例模式确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例。目的:单次请求过程共享同一对象资源;保证一个类仅有一个实例,并提供一个访问它的全局访问点。三私一公:私有化静态属性,私有化构造方法,私有化克隆方法,公有化静态方法。应用场景:数据库连接、缓存操作、分布式存储。同上,我下面的示例是把实例化换成数据库查询。

2022-09-26 19:07:14 364

原创 PHP 的垃圾回收机制(GC)

PHP进阶学习之垃圾回收机制详解PHP ZVAL是什么意思?PHP 垃圾回收机制详解程序在创建对象或者数组等引用类型实体的时候,系统会在堆内存上为之分配一段内存区,用来保存这些对象,当这些对象永久地失去引用后,就会变成垃圾,等待系统垃圾回收机制进行回收。垃圾回收机制(GC)是一种动态存储分配的方案。它会自动释放程序不再需要的已分配的内存块。垃圾回收机制可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻辑。

2022-09-25 16:20:46 2209 1

原创 Nginx 之 fastcgi 常用参数详解

指nginx需要用多大的缓冲区缓冲fastcgi的应答请求(整个应答),如果一个php脚本所产生的页面大小为256kb,那么会分配4个64kb缓冲区来缓存,如果页面大于256kb,那么大于256kb的部分会缓存到fastcgi_temp指定的路径中,但是因为内存中数据处理远快于磁盘, 所以这个值应该为站点中php所产生的页面大小的中间值, 如果站点大部分php脚本产生的页面为:256kb, 那么可以设置成成"8 16k 4 64k"。这样的话很浪费资源,于是,出现了 cgi 的改良版本,

2022-09-24 17:40:14 7961

原创 一个 PHP 请求的执行过程

发现 IP 地址符合,根据 IP 头中协议项,知道自己上一层是 TCP 协议,于是解析 TCP 的头,里面有序列号,需要看一看这个序列包是不是我要的,如果是就放入缓存中然后返回一个 ACK,如果不是就丢弃。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。其中请求方式有GET,POST,PUT,DELETE 等,其中常用的 POST 会用于发送一些数据给服务器,比如登录网站把用户信息发送给服务器,一般这些数据会通过请求体发送。服务器又是怎么在后台执行的?

2022-09-24 16:14:16 3726

原创 PHP 常用函数 - 其他常用函数

如果这里也都是常用的函数,不需要多说和文件相关的函数一样,这里只做分类,示例就不多做展示了。

2022-09-20 19:52:33 295

原创 PHP 常用函数 - 目录、文件函数

如果需要用到文件相关的函数,根据实际需要使用,这里只做分类,示例就不多做展示了。

2022-09-20 19:41:10 1768

原创 PHP 常用函数 - 数组函数

PHP 数组函数

2022-09-18 05:42:19 4802 1

原创 PHP 常用函数 - 数学函数

本篇文章参考菜鸟教程,仅供参考。

2022-09-18 04:15:53 1678

原创 PHP 常用函数 - 字符串函数

PHP 常用函数分类

2022-09-18 04:11:35 2794

docker-dnmp包

docker-compose实现dnmp环境 docker+nginx+php++mysql+redis

2023-04-03

空空如也

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

TA关注的人

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