- 博客(208)
- 资源 (2)
- 收藏
- 关注
原创 docker 安装postgre并使用php进行连接
需要注意的是,如果php和postgre是同一个Docker网络中的服务,host要写成服务名,而不是localhost或127.0.0.1,而此处的服务名就是指postgre容器的名称,因为上文演示时给postgre的容器命名为pgtest,所以此处的host=pgtest
2025-06-11 19:15:16
346
原创 mysql 悲观锁和乐观锁(—悲观锁)
1、增加性能开销:对数据的读写进行加锁和解锁操作,会增加系统的开销,特别是高并发的环境下,锁的竞争会严重影响到系统性能。在数据被锁定期间,其他事务无法修改这些被选中的行数据,也无法对他们设置新的排它锁和共享锁。4、锁超时:如果一个食物长时间加锁而不释放,可能导致其他等待锁的事务超时,这不仅导致等待的事务失败,还可能印象到整个系统的稳定性。2、降低并发度:悲观锁在操作数据前会加锁,这导致了同一时间,只有一个事务能操作数据,其他事务只能等待,这严重降低了系统的并发性。
2025-06-04 22:34:16
971
原创 Mac安装redis
则在终端再进入src文件夹下,执行 sudo make&&make install 命令。3、直接执行redis-server 如果出现redis标志性的图代表成功。/releases/ 找到任意 结尾为* .tar.gz的文件下载下来。如果显示command not found :redis-server。执行成功后,在使用redis-server。2、使用终端进入下载下来的redis文件。1、 去往网址 http://则能得到redis的标志性图案。
2025-05-21 22:55:22
302
原创 编译安装报错:configure: error: cannot guess build type; you must specify one
编译安装报错 configure: error: cannot guess build type; you must specify one
2023-11-23 17:01:23
1716
原创 mysql允许远程连接
通过检查防火墙和服务器开放端口以及mysql的配置来支持mysql远程访问GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTION =》创建新用户并授权FLUSH RIVILEGES =》刷新MySQL的系统权限相关表root是新的用户名,
2023-11-23 16:57:03
334
原创 Windows系统中搭建docker (ubuntu,Docker-desktop)
Windows环境,使用docker-desktop 搭建Docker,并引入对应镜像
2023-11-16 14:37:59
1198
原创 Mysql 查询分组数据中每组某一数值最大的数据
观察表我们可以看到id为1和12的数据都是2020-04-17加入的,但是两者之间他们的创建时间又有先后顺序的区分,id为12的要早一天,所以我们需要的是id为12的。2. 根据拿取到的每个园区最小的加入时间关联查询,将其和customer表进行关联,按照park_id相等,且用户的加入时间于最小的加入时间min_joined_at相等来拿取对应的数据。所以我们只需要保证将joined_at时间最早的数据排在最前面,当以park_id进行分组操作时,拿到的第一条数据必然是joined_at时间最早的一条。
2023-04-25 10:58:05
7332
原创 Mysql 使用时候,关于 and/or 于 “非“ 的使用时会遇上的逻辑问题
假设我们有一个学生,里面name字段是名字,sex字段是性别,1表示男,2表示女。由图中我们可知,叫 lisa 的学生有两个,一个是男,一个是女。需求: 现在要求我们拿出这个表中 名字叫 lisa的那位男同学之外的所有同学。第一反应我们是这样写的:select * from student where name!='lisa' and sex!=1查询 name !=lisa 且性别不为男的。但是这样一查出来我们发现数据直接为空。这是为什么呢?其实是因为上面的语句说的是:..
2022-04-26 18:32:31
782
原创 PHP word转pdf
文章目录方法一、使用phpword和tcpdf1. 使用composer 安装 phpword和tcpdf2. 示例代码 (试例框架是laravel,以下文件默认是放置在public中)3. 中文乱码 - 设置字体方法二、使用unoconv将 word转pdf (Centos 8)1. 安装libreoffice2.安装 unoconv3.安装字体 (若转换的文件出现)4. 使用代码将文件转换总结方法一、使用phpword和tcpdf1. 使用composer 安装 phpword和tcpdf c
2022-04-15 12:53:24
4056
原创 Centos8 开机自启动
一. 使用命令查看是进程否拥有开机自启动查看全部命令:systemctl list-unit-files查看某一项命令:例如nginxsystemctl list-unit-files | grep nginx显示如下图: 左边是程序,右边是状态。enabled: 标识开机自启动 disabled: 标识开机不会自启动 static :表示该服务于其他服务相关连,不能单独设置开机自启动二 . 添加开机自启动命令(已nginx为例)systemctl en...
2022-01-24 10:31:51
5115
原创 Linux下实现Mysql 每日备份
前言:因为是定时备份,加之数据库内的数据在成倍增加,我们一定要为备份文件选好合适的存储磁盘。以防出现因磁盘空间不足而导致备份失败的情况。1. 先在空间充足的磁盘内创建备份文件夹 我这边选择了再home文件夹下创建备份文件夹。 使用命令 创建了个备份文件夹 backupmkdir backup2. 创建备份 shell 脚本2.1使用vi 命令创建 一个名字为 sh的文件,这个文件名随便你取,但更推荐名字要贴近需要备份的数据库的名字...
2021-10-27 14:14:41
410
原创 Centos8 下php开启bcmath扩展
问题.有时候代码报错显示linux环境下的php未开启bcmath扩展导致代码无法运行,当我们的php已经安装了之后,在想开启扩展的时候,我们就可以通过下面的内容来开启bcmath扩展。首先我们需注意自己Linux的版本和代码的版本 我这边linux是centos8,所有推荐使用yum (如果你是别的版本,使用服务器没有自带yum的你就需要自己去安装或找别的方法。) 1. 先使用 php -m查看自己的环境中已经开启了那些扩展(这时候我已经开...
2021-10-15 16:15:52
1191
原创 Laravel 新增路由文件
1.在Routes目录下新增一个 php文件 例如flat.php<?phpRoute::get('/test',function(){ echo '111';});2. 在app/Providers/RouteServiceProvider.php 中 新增方法 protected function mapFlatRoutes(){ Route::prefix('flat') ->middlewar...
2021-08-19 11:37:49
220
原创 php缺失php-config文件
本来想给php配置扩展 突然发现找不到php-config文件一. 是使用linux命令yum install php-devel有些是使用yum install php70w-devel (这个70w是你的php版本号加上个w,例如你的php版本是php7.0 你就是70w,如果你的是7.2 你的就是72w)二 . 若使用上述命令报错例如显示如图信息 这说明是缺少 libedit-devel(x86-64)的包1.我们要去https://centos.pkgs.or...
2021-07-12 16:17:00
1021
7
原创 nginx配置报错502
此种情况只适用于nginx+php背景介绍:环境是centos8使用命令 systemctl status nginx 和
2021-06-21 12:44:41
692
1
原创 谈谈PHP中的trait
谈谈PHP中的trait欢迎使用Markdown编辑器欢迎使用Markdown编辑器#wqwq11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111#2222212122222222222222222222222222222222222222
2021-03-05 16:16:29
381
原创 获取指定目录下的所有文件地址 【递归法】
实际目录内容<?phpclass Solution { public function forMl($dir){ $arr = []; $file_arr = scandir($dir); foreach($file_arr as $item){ if($item!='..'&&$item!='.'){ $new_dir = $dir.'\\'.$item; .
2021-02-22 14:15:31
260
原创 分数排序
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rank-scores编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。例如,根据上述给定的Scores表,你的查询应该返回(按分数从高到低排列):+----+-------+| Id | Score |+----+-------+| 1 | 3...
2021-01-26 15:37:01
667
原创 Mysql中isnull,ifnull,nullif的区别
1. isnull :判断是不是null,若是则返回1,若不是返回02. ifnull:函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值3. nullif:若第二个参数等于第一个参数则返回null,否则返回第一次参数isnull:从下面的几张图可以看出,mysql不会将空字符串和0判断为空,比较严谨,只会讲真实的null判断为空。ifnull:从下面三张图可以看出 当第一个参是nu...
2021-01-18 19:05:22
5874
原创 LeetCode:Mysql算法题 查询时间A比昨日时间B温度有所升高的所有日期id
表 Weather+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || recordDate | date || temperature | int |+---------------+---------+id 是这个表的主键该表包含特定日期的温度信息编写一个 SQL 查询,来查找与之前(昨天...
2020-12-28 19:31:05
329
原创 Laravel使用多数据库
Laravel使用多数据库一 设置数据库信息二 使用1 Eloquent 方式2 DB的使用一 设置数据库信息//第一个数据库的相关信息‘mysql’ => [‘driver’ => ‘mysql’,‘url’ => env(‘DATABASE_URL’),‘host’ => env(‘DB_HOST’, ‘127.0.0.1’),‘port’ => env(‘DB_PORT’, ‘3306’),‘database’ => ‘blog’,
2020-12-21 11:27:42
977
原创 Laravel 队列的使用 (存储在database中)
php artisan job:队列文件名字php artisan job:table 队列表生成php artisan queue:work 运行队列队列表生成env文件设置 队列计入数据库中QUEUE_CONNECTION=databaseQUEUE_DRIVER=database队列文件handle中设置 队列操作数据...
2020-12-19 19:13:07
1001
原创 Linux 添加系统环境变量
查看php版本 需要先知晓bin文件下php的位置每次查看都是 php位置 -v才能看见但是加入了系统环境变量 就可以直接 php -v查看1. 使用vi编辑 etc/profile文件 添加环境变量PATH=$PATH:/php的bin文件的位置export PATH2. 刷新更新环境变量source /etc/profile 3.查看环境变量echo $PATH...
2020-11-30 20:37:41
329
原创 算法-杨辉三角-分析-PHP
三角两边的数字都为1 但是从第二行开始 除掉两边的数字1 其余的数字都是肩上两个数字之和。/** * @param $n 多少行 */function yanghui($n){ $arr=array(); for($i=1;$i<=$n;$i++){ //观察可得第几行数据 里面的数字就存在几个 for($j=1;$j<=$i;$j++){ if($j==1||$j==$i){ .
2020-11-27 11:31:47
219
原创 算法-母牛繁殖求N年后的总牛数量
有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛解题思路:使用递归 每一头母牛都会按照上述规则 同样的规律使用每个个体,封装方法后递归调用/** * @param $int 年限 * @return int 最后的牛的总量 */function Countcows($years) { static $cows_num = 1; if($years<4) return 1; //牛在第四年之后才开.
2020-11-27 00:17:01
1014
原创 算法-二分快排
进一个数组,按照二分快排的规则,将他们的元素按照从小到大的顺序排序<?php function quickSort($arr){ $base = $arr[0]; $len = count($arr); if($len<=1){ //注意是<=1因为传进来的数组也有可能是空数组 return $arr; } $left_arr = []; $right_arr =
2020-11-26 17:23:51
333
原创 算法-冒泡递增
给一个数组使用冒泡的方式,将里面的元素顺序改为递增<?phpclass Solution { //冒泡排序 function maopao($arr){ $len = count($arr); for($j=0;$j<$len;$j++){ for($i=$len-1;$i>$j;$i--){ //此处的判断为$i>$j是因为$j为已经比较过的数据的下标,他们已经同别的数据进行过比较,确认是比别的元素小的值
2020-11-26 17:04:19
293
原创 PHP经典算法题目:选猴王
一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。<?phpclass Solution { function monkey($n,$m){ $arr = range(1,$n); $i=0; while(count($arr
2020-11-26 16:11:02
882
转载 LeetCode算法题 1370. 上升下降字符串 分析
题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/increasing-decreasing-string给你一个字符串s,请你根据下面的算法重新构造字符串:从 s中选出 最小的字符,将它 接在结果字符串的后面。从 s剩余字符中选出最小的字符,且该字符比上一个添加的字符大,将它 接在结果字符串后面。重复步骤 2 ,直到你没法从 s中选择字符。从 s中选出 最大的字符,将它 接在结果字符串的后面。从 s剩...
2020-11-26 15:18:55
152
原创 MYSQL千万级别数据分页
【PS:本地环境不存在网络影响下测试,且多次调用sql语句,取出现次数最多的 ‘查询时间’作为参考】首先我们有个表里面有1千万以上的数据因为表字段少,且结构简单所以实际查询时间对人感官不是很慢,但是我们将问题扩大考虑。实际情况的表肯定不止这些字段,查询时间肯定也不知我测试时查出来这么快,所以我们只比较更优化的方案,而不单纯看所耗时间。A=>简单的查询从10w条数据 从0开始 耗时B=>从第100W开始查询 耗时C=>从第700w开始查询出来10w条数据...
2020-11-24 15:13:44
903
原创 Redis 数据备份和恢复【快照形式】
一 . redis 快照备份1. 首先找到redis安装的目录,即redis-cli所在的位置 【1,2步骤在 redis 安装了但执行redis-cli not found时候操作,如果没有遇见这个问题可以直接跳过 】 可以使用 find / -name redis-cli 命令查找2.找到之后我们将其复制到 /usr/local/bin目录下面 我们可以使用 cp 命令将其复制过去 ,即然后查看/usr/local/bin目录下就有redis-cli文件了 然后我们...
2020-09-14 15:55:09
469
原创 Linux中关于用户权限 的/etc/group ,/etc/passwd和/etc/shadow的内容解释
一. /etc/group是Linux下 用户组文件: :mytest用户组中有xm,xh两位用户的账号数据表示为:组名:口令:组标识号:组内成员列表组名:用户组的名称,由字母或数字构成,组名不应该重复。口令:口令字段存的是用户组加密后的口令数据,这个字段可以不设置直接为空,但有时设置了因为 /etc/group 对所有人都可以读,保险起见我们就可以把他设置成x,但具体的内容给存储到/etc/shadow文件中组标识号:被系统用来表示组,别称GID组内成员列表:属于这个组...
2020-08-11 22:22:26
2514
原创 Elasticsearch: ES使用sql语句进行查询
//format 定义返回的数据类型 适合php的推荐使用json ,除此之外还可以选择 txt,csv,yaml,cbor,smile等使用sql语句查询有一个弊端 就是开始定义某列数据的类型 后期存储时 存入了错误的数据类型 存储时成功的 但是使用sql语句查询会报错,所有最有效的ES查询方法还是使用原生的当我们不确定有哪些SQL函数可以直接使用时 ,可以在 /_xpack/sql?format=json 接口使用query='show functions',会列举出支持的SQL函数;/*..
2020-08-05 17:07:58
12954
原创 二维数组根据某个字段进行排序:array_multisort 的使用
假設有如下數組:我们要根据年龄来排序首先拿到年级组成的数组:得到:使用array_multisort 进行排序:得到:
2020-04-28 19:58:27
3162
4
原创 Laravel: artisan的使用
使用artisan命令直接执行方法1.使用 php artisan make:Command 文件名字es:php artisan make:Command test然后创建文件<?phpnamespace App\Console\Commands;use Illuminate\Console\Command;class test extends Comm...
2019-12-19 17:04:23
467
redis server文件64位
2018-03-29
windows下rabbitMQ软件(php+nts+X86)【php_amqp+rabbitmq-server.exe+otp_win64.exe】
2019-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人