自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黎明强的博客

收藏学习知识,让自己编程道路更实在(www.97it.net)

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

原创 通过rpm安装MySQL8.0

安装Mysql server端 (这种在线安装太大的话,去找tar包离线安装)6、初始化mysql (mysql创建重要数据、生成root临时密码、核心文件)10、修改root密码,修改后退出重新进入mysql即可。9、拿到密码,登录mysql数据库,输入刚才临时密码。8、访问数据 (查看root临时密码)4、安装mysql client。12、修改mysql的配置文件。1、下载mysql的。

2022-11-18 14:01:37 1475 1

原创 MySQL常用函数汇总(字符串、时间函数等)

MySQL常用函数汇总,包含时间函数、字符串函数等

2022-11-18 13:56:28 574

原创 Redis的性能优化一些方案

所以查询Big key的手段就可以使用脚本进行查询,大概思路就是时使用scan游标查询key,然后使用memeory usage key 获取这个key与value的字节数,这样就能很方便的得出结论进行优化。扫描区:会扫描当前redis最大的Key,(注意:但是并不代表它就是BigKey) ,只是告诉你当前环境最大的Key是比较大的。一般情况下,当key的值大于10Kb时就可以算是Big Key了。一个key和它值在RAM中占有的字节数,返回的结果是key的值以及为管理该key分配的内存总字节数。

2022-10-15 10:11:09 1011

原创 Redis编译安装以及一些参数说明

高性能 :底层C语言编写,内存数据库,通讯采用线程安全Redis操作都是单线程的,都是原子操作 。 (Reids 6+ 是多线程,但是多线程体系在同步数据需求上,底层的核心操作还是单线程,避免高并发场景下数据安全的问题。 )功能丰富支持数据结构多种,支持数据持久化,支持主从模式、支持集群分片、以及哨兵监控机制。Redis使用内存来缓存数据,以防唯一还可以修改设置,让Redis把数据保存在硬盘上,因为Redis是用内存保存数据,IO性能比MySQL好很多。Redis没有二维表结构,数据结构是key-value

2022-10-15 10:04:55 3301 1

原创 分析ThinkPHP5的源码(1) : 类的自动加载

Composer 下载的源码,每个框架它都必须都有一个“类的自动加载”机制 ,我们都知道PHP引入文件是需要 、 才能使用别的类文件中的方法。比如我需要写一个公共文件 model.php但是!如何当公共类库文件很多的时候,每次都需要手动引入,就显得非常麻烦,不利于/不方便维护管理。所以PHP引入了一个 的类自动加载,TP框架就是借助了 来完成类的自动加载。学习框架源码的第一步,先找到入口文件 ,然后一步步跟进流程,看下代码执行的过程。打开Base.php ,第16行就会去加载 文件 (就是

2022-10-15 09:38:24 1651

原创 Redis缓存异常处理以及淘汰策略

注意这里的6种机制,volatile和allkeys规定了是对已设置过期时间的数据集淘汰数据还是从全部数据集淘汰数据,后面的lru、ttl以及random是三种不同的淘汰策略,再加上一种no-enviction永不回收的策略。,导致请求在访问缓存时,发现缓存缺失,再去访问数据库时,发现数据库中也没有要访问的数据,没办法构建缓存数据,来服务后续的请求。了,此时大量的请求访问了该热点数据,就无法从缓存中读取,直接访问数据库,数据库很容易就被高并发的请求冲垮,这就是。

2022-08-25 09:23:50 353

原创 利用PerconaTookit工具在线修改表结构

(比如INT不够用换成BIGINT,或者某个字段有唯一性约束,现在去掉唯一性约束,但是也多多少少也会影响性能 )—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等。引入了新的密码认证方式,PT工具是暂时不支持的,所以只能在数据库端做手脚,把数据库密码验证方式改成旧的认证方式。,在业务系统运行的过程中随意修改、删改字段,会造成重大事故,而且在修改之前,必须对表做备份。常规的做法是业务停机,维护表结构。

2022-08-25 09:20:41 2464 2

原创 为什么要用 B+ 树,而不用普通二叉树?

如果树这种数据结构作为索引,那每查找一次数据就需要从磁盘中读取一个节点,也就是一个磁盘块,但是平衡二叉树可是每个节点只存储一个键值和数据的,如果是 B+ 树,可以存储更多的节点数据,树的高度也会降低,因此读取磁盘的次数就降下来啦,查询效率就快。根节点和枝节点不保存数据区, 所以一个节点可以保存更多的关键字,一次磁盘加载的关键字更多,IO次数更少。可以从几个维度去看这个问题,查询是否够快,效率是否稳定,存储数据多少,以及查找磁盘次数。它是 B Tree 的变种,B Tree 能解决的问题,它都能解决。

2022-08-25 09:18:06 1003

原创 理解依赖注入DI和控制反转IOC和容器

依赖注入 Dependency Injection 简称DI,目的是让代码耦合度降低,模块化程度高,让代码更易测试为什么会有依赖?因为我们为了模块化,把各种小功能都做成了一个模块,模块之间相互调用,这样就产生了依赖。这段代码使用了魔术方法,在给不可访问属性赋值时,__set() 会被调用。读取不可访问属性的值时,__get() 会被调用。// 容器 class Container {} }在程序启动的时候,我们可以在一个地方统一的注册好一系列的基础服务。};};};

2022-08-23 15:33:00 229

原创 介绍各个PHP版本一些特性知识点

本系列主要介绍各个PHP版本一些特性知识点PHP各个版本的官网: PHP文档支持jsonPHP5.6.X到PHP7版本改动比较大的一个阶段版本。、、First-class 可调用语法、纤程、交集类型和性能改进等。

2022-08-23 15:30:42 480

原创 RabbitMQ的常用命令

查看connection(连接信息)

2022-08-15 10:06:42 905

原创 记录Vagrant常用的一些命令

Vagrant 是一种用于在单个工作流中构建和管理虚拟机环境的工具,需要配合VirtualBox配合使用。一旦您或其他人创建了一个,您只需要vagrant up安装和配置所有内容即可工作。您团队的其他成员使用相同的配置创建他们的开发环境。您的所有团队成员都在相同的环境中运行代码,针对相同的依赖项,所有配置都相同道路。告别“在我的机器上工作”的错误。以前搭建Linux虚拟机,需要VirtualBox从.iso文件安装了,有Vagrant可以直接从配置拉取并下载系统,一步到位简洁化,开发环境变得简单。...

2022-08-15 10:04:27 1304

原创 记录一些常见的HTTP状态码

是用以表示网页服务器超文本传输协议响应状态码的3位数字代码。服务器接收到了也完成了,但是跟你客户端预想不太一样。指的是服务器的错误,客户端发送的请求是没问题的。

2022-08-15 10:01:06 85

原创 一文带你了解SQL的执行计划(explain)

为什么关注sql的执行计划,因为一个sql的执行计划可以告诉我们很多关于如何优化sql的信息。通过一个sql计划,如何访问中的数据 (是使用全表扫描还是索引查找?)一个表中可能存在多个表中不同的索引,表中的类型是什么是否子查询、关联查询等…sql学习来自于sqlercn讲师了解SQL如何访问表中的数据了解SQL如何使用表中的索引了解SQL所使用的查询类型。...

2022-08-15 09:56:59 18798

原创 Git中alias别名提高操作效率

2、配置完后,记得重新打开一个创建才行。(当前窗口不存在session)这些命令都使用非常频繁。每次敲一个完整的命令,如果简化敲少几个字呢?这样配置好,敲的键盘数量就少一点~更简单点。打开家目录(C盘用户文件夹下)下的。如果没有该文件,手动创建一个。按照这样的写法的话还可以。1、window系统需要。文件中定义 (家目录)工作上每次都要去执行。...

2022-08-15 09:54:42 135

原创 快速熟悉Docker的一些基本操作流程

接下来我就整理快速熟悉下Docker的一些基本操作流程 ~~ (不包含配置dockerCompose、Swarm等编排操作)可能刚接触Docker的同学,上手Docker看到很多命令、或者操作一脸懵,需要了解docker安装、镜像容器啊,docker上的网络,容器之间的端口映射以及network网络空间、数据持久化等等…...

2022-08-04 15:47:33 271

原创 Redis的常用命令&集群节点管理

返回有序集key中,所有score值介于min和max之间(包含等于min或max)的成员。有序集成员按score值递增(从小到大)次序排列,最小的是最上面。移除有序集 key 中,指定排名(rank)区间内的所有成员。操作多字节位域 (获取当前月的所有签到数据 , 计算连续签到天数)获取集合的值并按照score排序 ( 最小的是最上面)根据value获取某个值的位置 【获取排序号,默认小到大】查询指定字节区间的第一个被设置成1的bit位的位置。根据key中的某个value值 ,返回score。...

2022-08-04 15:32:28 3462

原创 InnoDB的几种事务隔离级别

前文首先理解事务的ACID的隔离性 并发带来的问题,脏读 、不可重复读 、幻读 的问题。脏读: 一个事务读取了另一个事务未提交的数据,导致数据不一致。【事务2未提交】不可重复读: 一个事务前后两次读取的同一数据不一致 【事务2已提交】幻读: 一个事务两次查询的结果集记录数不一致,返回的记录行数有差异不可重复读跟脏读的区别不可重读就是第二个事务提交了对数据的修改,脏读是在第二个事务未提交回滚了对数据的修改。虽然在不可重复读前后数据不一样,由于事务2最终提交了修改,在事务1第二次读到数据,实际上是

2022-02-14 18:28:12 2411 2

原创 Docker常用命令整理

基本命令docker version #查看版本docker login #登录dockerIDdocker build -t [DockerId/自定义名称] [文件目录] #打包构建dockerfile文件,制成镜像 (docker build -t limingqiang/hello-world . )docker commit [原容器名] [新镜像名] #容器制回镜像 (不推荐)docker --help #帮助

2022-02-14 18:22:15 657

原创 记录一些HTTP中常见的状态码

HTTP状态码是用以表示网页服务器超文本传输协议响应状态码的3位数字代码。分类含义1XX表示消息(不常用),这一类型的状态,表示请求已被接收,需要进行处理,这类响应是临时响应 ,只包含状态行和某些可选的响应头信息,并以空行结束2XX表示成功。这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。3XX表示重定向。这类状态码需要客户端采取进一步的操作才能完成请求,通常这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中说明。

2022-02-14 18:21:01 1011

原创 PhpSpreadsheet实现导入&导出功能

前文导入excel的文本内容如下代码演示composer安装PhpSpreadsheet (这是新的Excel类库),不用旧的PHPExcel的类库,旧的已被官网弃用不维护了!!前端代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>

2021-04-22 14:19:38 978

原创 替换富文本内容的所有img的链接或者其他内容

第一种 :img标签 追加绝对路径<?php$httpUlr = 'http://www.97it.net/';$str = '<p>测试123测试13433414</p><p>&nbsp;</p><p><img src="/uploads/20190326/cad4dcb78fca9e98cf1c45553f0a1a99.jpg" alt="" width="100" height="100" /></p

2021-04-13 17:30:25 1216

原创 nginx中return和rewrite指令同时存在,先执行顺序哪个?

前文如果return指令跟rewrite指令同时存在先执行哪个呢?场景示例模拟数据server { location /images { rewrite /images/(.*)$ /pic/$1 last; return 200 "return 200 in /images"; } location /pic { rewrite /pic/(.*) /photos/$1; return 200

2021-04-13 17:25:26 665

原创 用mktime获取本日、昨天、本周、上周、本月、上月、今年、去年的时间戳以及优化版

第一版 【使用php内置的mktime】<?php //获取时间戳function get_time_block($type = 'sToday'){ switch ($type) { case 'sToday': //本日开始时间 return mktime(0, 0, 0, date('m'), date('d'), date('Y')); break; case 'eToday': //本日结束时间 return mktime(0, 0, 0, ..

2020-09-23 11:54:53 519

原创 mysql通过mysqlbinlog日志恢复数据

从删库到跑路恢复如果不是InnoDB跟没开启日志!那就莫得方法了!还是选择跑路吧!(开个玩笑)【mysql bin 没有mysqlbinlog.exe 去网上下载】一、首先一定要开启binlog!!!!在mysql的 my.ini文件在[mysqld]区块设置/添加 log-bin=mysql-bin 确认是打开状态(值 mysql-bin 是日志的基本名或前缀...

2020-03-05 10:51:32 1213

原创 linux下PHP编译安装代码踩过的坑解决

坑1:编译之前需要:需要安装gcc 和 autoconfig,要不然安装编译不成功的!(如果系统有就不需要安装了!)坑2:解压出来的PHP文件里的php.ini xxx 复制到在编译PHP目录下etc下。坑3:如果php.ini 不生效,用命令  php -i | grep php.ini 去检查下编译后的目录是否一致。不一致需要更改,这里提示放在lib下。坑4:如果make编...

2018-09-27 08:50:57 4746

转载 php中如何获取最近六个月每个月的起始时间和结束时间

你要实现的是不是当前月份和当前月份往前5个月,每个月的第一天是几号号最后一天是几号?如果是的话,我写了一个 能实现你的需求。你的问题让我好纠结。$currentTime = time();$cyear = floor(date("Y",$currentTime));$cMonth = floor(date("m",$currentTime)); for($i=0;$i&lt;6;$i++...

2018-04-16 14:11:57 1746

原创 PHP导出excel表格文件并下载,不需要利用插件

简单粗暴的写法。需要title对应着 字段。。

2017-12-15 20:22:56 1661

转载 mysql 查询当天、本周,本月,上一个月的数据

今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY

2017-12-05 15:07:18 4229

转载 PHP数组以中文首字母来排序

function getFirstCharter($str){ if (empty($str)) { return ''; } $fchar = ord($str{0}); if ($fchar >= ord('A') && $fchar <= ord('z')) return strtoupper($str{0}); $s1 = icon

2017-11-14 21:08:13 2305 1

转载 PHP中继承的特点和规则总结

在学习继承的过程中,感觉学习的比较乱,但是,最后学习下来,感觉也不是太乱,主要就是修饰符的访问权限问题,这里根据我的理解,觉得不太适合用表格来表示显示出来,那么我把在继承的特点来总结出来,便于记忆和理解-----注意:仅仅针对PHP:1:子类可以访问父类的公开和保护属性,反之,访问私有则不可以。2:子类最多只能继承一个父类,而父类可以有多个子类。3:子类不会继承父类的析构函

2017-11-10 19:12:43 543

转载 PHP计算剩余时间的2种方法,返回距离现在时间的格式,如1秒前,1分前..

第一种把两个日期格式的字符串转化成unix时间戳,然后相减获得时间戳差。最后判断剩余时间,生成类似(2小时30分钟20秒前发布)这样的时间格式public function gettime($time_s,$time_n){$time_s = strtotime($time_s);$time_n = strtotime($time_n);$strtime = '';$tim

2017-11-10 14:34:59 5871

转载 phpstorm version 2016.2 License Server激活

最快,最安全的选择,以激活您的PHPStorm 2016.2 - 2016.3,这是足够的激活服务器,软件将自动激活。该过程将不断更新,如果不工作评价写入,如果有,以激活没有列出的服务器也可以说。1通过互联网激活PHPStorm 2016.3:http://jetbrains.tencent.clickhttp://172.245.22.235:1017ht

2017-10-19 13:18:31 834

转载 php下intval()和(int)转换使用与区别

echo "数值强制转换:"; $string="2a"; $string1=intval($string); echo '$string1的值:'.$string1.'$string2的值:';//单引号不会输出变量,将原样输出 $string2=(int)($string); echo $string2 ?> 手册上查不到。 这也是手册上说的:引用:

2017-10-17 16:31:14 11128

转载 php中if的简写语句,更简洁的三元运算符

今天我发现了PHP三元运算符的一个小小的用法. 这给我干涸的大脑一点乐趣!PHP 三元运算符是对参数赋值时候的一个简洁的主要用法. 一个主要的用法: PHP 三元运算符能够让你在一行代码中描述判定代码, 从而替换掉类似以下的代码:123<?phpif (isset($value)) {    $output = $va

2017-09-29 13:38:57 8263

转载 MYSQL GROUP BY 对多个字段进行分组

在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下:我们想统计每门课程有多少个学生报名,应用如下SQL:得到如下结果:因为表里记录了有5个学生选择ITB001,2个学生选择了MKB114。产生这个结果的原因是:GROUP BY X意思是将所有

2017-09-23 09:33:58 1331

转载 MySQL 常见的报错及解决方式

MySQL 常见的报错及解决方式一、Can't connect to MySQL server on 'localhost'(10061)?    翻译:不能连接到localhost 上的mysql?分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错

2017-09-15 09:56:32 4122

转载 php中mysqli 处理查询结果集的几个方法

最近对php查询mysql处理结果集的几个方法不太明白的地方查阅了资料,在此整理记下Php使用mysqli_result类处理结果集有以下几种方法fetch_all()抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。fetch_array()以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果。fetch_ob

2017-09-07 14:35:02 684

转载 PHP二维数组根据某个字段排序

<?php/** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */header('Content-Type:text/html;Charset=utf-8');$arrUsers = array( array( 'id' => 1, 'name' => '张三',

2017-09-01 09:53:38 344

空空如也

空空如也

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

TA关注的人

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