自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代元培

听风看雨 见贤思齐 抚霜踏雪 青云直上

  • 博客(286)
  • 资源 (1)
  • 收藏
  • 关注

原创 php使用curl实现get和post请求

php使用curl实现get和post请求

2022-02-21 11:51:15 2512

原创 php实现大文件分片上传

如果上传的文件只有小于10M的话,就没必要考虑这样的做法,直接在php.ini中更改一下upload_max_filesize=10m post_max_size=10m这样就可以了,下面我们来说一说php上传超大的文件。

2022-02-18 10:39:31 3200

原创 PHP大文件分片上传的实现方法

在网站开发中,经常会有上传文件的需求,有的文件size太大直接上传,经常会导致上传过程中耗时太久,大量占用带宽资源,因此有了分片上传。接下来通过本文给大家介绍PHP大文件分片上传的实现方法,需要的朋友可以参考下。

2022-02-17 17:15:25 585

原创 PHP超低内存遍历目录文件和读取超大文件的方法

我写这篇笔记的原因是现在网络上关于PHP遍历目录文件和PHP读取文本文件的教程和示例代码都是极其低效的,低效就算了,有的甚至好意思说是高效,实在辣眼睛。

2022-02-17 14:37:56 600

原创 PHP分段下载及限制下载速度

PHP下载大文件失败,通过分段下载并限制下载速度解决。

2022-02-17 11:46:12 474

原创 php实现大文件断点续传

所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。

2022-02-17 11:28:43 419 1

原创 PHP大文件分割分片上传

PHP大文件分割分片上传

2022-02-17 11:12:52 358

原创 Greenplum Vacuum表的作用

vacuum:该选项主要是清理数据库表中的垃圾空间,该动作会消耗系统一定的资源,引起系统的IO上升,对有一定系统瓶颈来说容易造成堵塞,严重会把GP宕掉,造成数据库瞬断。一般不建议vacuum库中全表,通常做法是vacuum指定的表。

2022-01-18 14:23:59 434

原创 php实现sftp上传下载

php实现sftp上传下载

2021-11-23 11:50:35 635

原创 download_data.sh

用于从sftp集群中下载数据文件到本地

2021-11-23 11:37:03 1725

原创 MySQL数据库设计建议

【强制】数据库的名称必须控制在32个字符以内,由英文字符和数字组成。禁止使用中文。【强制】创建数据库时必须显式指定字符集,并且字符集只能是utf8或者gbk。【强制】表名称必须控制在32个字符以内。不能使用系统保留字和特殊字符,只能使用字母、数字和下划线。【强制】列名称必须控制在32个字符以内。不能使用系统保留字和特殊字符,只能使用字母、数字和下划线。【强制】创建表时必须显式指定字符集,并且字符集必须与数据库字符集相同,utf8或者gbk。【强制】创建表时必须显式指定表存储引擎类型,默认

2021-10-08 19:29:51 333

原创 MySQL聚簇索引和非聚簇索引原理

  一、‘页’和操作系统的关系  1、为什么要有内存管理?  我们知道,一个进程完成他的功能,需要访问磁盘加载数据到内存然后等待进入cpu运算,因为数据量大小远远大于内存大小。因此提出虚拟内存概念。虚拟内存就是将程序用到的数据进行划分,暂时用不到的放到磁盘里,用到的放到内存里,操作系统中总是运行着不止一个进程,各个进程有优先级顺序,所以存在进程调度问题,进程的每次调度都会导致内存和磁盘数据置换,段式内存管理页式内存管理都是基于虚拟内存概念的具体内存管理解决方案。  2、什么是页式内存管理? 

2021-08-19 17:58:05 279

原创 DataX脚本任务开发实例

DataX脚本任务开发实例记录

2021-07-20 19:17:59 538

原创 PostgreSQL除法注意事项

-- 在PG里如果想做除法并想保留小数,用上面的方法却行不通,因为"/" 运算结果为取整,并且会截掉小数部分。select 1/4; -- 0select round(1::numeric/4::numeric,2); -- 0.25select round(cast(1 as numeric )/cast(4 as numeric),2); -- 0.25-- cast函数用法SELECT substr(CAST(1234 AS text),3,1); -- 3...

2021-07-09 16:35:52 1749

原创 邮件监控云上脚本执行进度

#!/bin/sh#监控云上pay-data-load脚本执行进度current_path=$(cd "$(dirname $0)"; pwd)data_path="$current_path/time/"file_input=$current_path/file_inputhtml_file=$current_path/pay_data_load.htmlif [ -f "$html_file" ];then rm $html_filefi#if [ -f "$file_...

2021-07-09 11:35:37 172

原创 PostgreSQL变更表Owner

alter table xxx owner to new_owner;

2021-07-08 11:19:03 2350

原创 布隆过滤器

一、介绍 布隆过滤器是一个二进制数组,它的作用是判断一个数是否存在于这个数组,0表示不存在,1表示存在,如下图所示: 二、添加 如果要存入“你好”这个字符串,首先会经过n个哈希函数计算,会计算出不同的哈希值,然后将这几个哈希值映射到数组中,对应的位置的二进制数被修改为1,如下图所示: 下标为3、5、7的位置被修改成了1 三、查询 比如说查询“你好”这个字符串,首先通过n个哈希函数计算出对应的数组位置是3、5、7,这三个位置的二进制数...

2021-07-06 16:47:57 129

原创 Redis缓存预热&雪崩&击穿&穿透

目录 1、缓存预热 2、缓存雪崩 3、缓存击穿 4、缓存穿透 1、缓存预热 场景: 服务器启动后迅速宕机 问题排查: 1、请求数量较高,大量的请求过来之后都要从缓存中获取数据,但是缓存中又没有,从数据库中查找数据后将数据再存入缓存,造成了短期内对redis的高强度操作 2、主从之间数据吞吐量较大,数据同步操作频度较高 解决方案: 为了防止用户访问的时候Redis中没有数据,所以提前将热点数...

2021-07-06 16:20:00 176

原创 PostgreSQL用户角色权限

在PostgreSQL中,所有内容都是围绕role概念构建的。在macOS上首次安装PostgreSQL时,该脚本使用您的macOS用户名创建了一个角色,并授予了权限列表。PostgreSQL中没有用户,只有role。通过在终端中运行psql postgres,您将使用您的macOS用户名自动登录到PostgreSQL,从而访问创建的角色。就我而言,创建了flaviocopes角色,可以使用\du命令看到它:看到? 默认情况下,我具有以下角色属性: Superuser...

2021-07-06 14:29:42 624

原创 Vacuum和Vacuum Full的处理过程

对于数据库系统的并发控制,PostgreSQL采用MVCC(多版本并发控制)进行处理。这种机制有一个缺点,就是随着时间的推移,数据文件中积累的dead tuples会越来越多。怎么去清理这些dead tuples,这个时候就需要vacuum处理。 PostgreSQL系统的vacuum是一个例行性的维护过程,系统也会在启动服务时启动autovacuum守护进程对此进行维护,当然也有vacuum命令可以让用户进行手动执行vacuum操作。除了清理dead tuples,vacuum还有冻结事...

2021-07-06 12:03:48 2024 1

原创 php-fpm进程管理的三种模式

php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linux已不存在惊群现象)。 ondemand 在php-fpm启动的时候,不会给这个pool启动任何一个worker,是按需启动,当有连接过来才会启动。 配置文件(我的配置文件...

2021-07-06 11:46:21 827

原创 PHP的array_filter过滤数组元素

array_filter—使用回调函数过滤数组的元素。 遍历array数组中的每个值,并将每个值传递给callback回调函数。如果callback回调函数返回true,则将array数组中的当前值返回到结果array数组中。 返回结果array数组的键名(下标)会维持不变,如果array参数是索引数组,返回的结果array数组键名(下标)可能会不连续。可以使用array_values()函数对数组重新索引。<?php$arr = [ ['id'=>...

2021-07-05 16:51:16 822 1

原创 PHP九九乘法表

<?phpfor ($a=1; $a<10; $a++){ for ($b=1; $b<=$a; $b++) { echo "$a*$b=".$a * $b."\t"; } echo PHP_EOL;}# 结果1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18.

2021-06-25 14:23:51 449

原创 PHP自定义大小写转换函数

<?php// PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换// 答:原因是:中文是由多字节组成的,而只有英文系统的单个英文字符只有一个字节,所以该系统把中文的每一个字节都做了strtolower()处理,改变后的中文字节拼接在一起就成了乱码(新生成的编码映射对应的字符可能就不是中文了)// 手动解决:用str_split(string string,intst.

2021-06-18 17:05:13 204 1

原创 PHP二维数组去重处理

<?php// 二维数组根据某字段去重function assocUnique(&$arr, $key) { $tmpArr = array(); foreach ($arr as $k => $v) { if (in_array($v[$key], $tmpArr)) { unset($arr[$k]); } else { $tmpArr[] = $v[$key]; }.

2021-06-17 15:12:01 121

原创 PHP将数组元素两两组合为新数组

// 方式一for($i = 1; $i <= 10; $i++){ $array[] = $i;}for($i = 0; $i < count($array); $i++){ for($j=0; $j<count($array)-$i-1; $j++) { $array2[] = [$array[$i], $array[$i+$j+1]]; }}print_r($array2);die;// 方式二$arr = ['A', 'B'.

2021-06-17 11:32:06 1014 2

原创 PHP判断4个坐标是否构成矩形

矩形: 矩形对角线相等,且四个角为直角。所以可以根据勾股定理判定。 思路: 首先判断坐标点是否有重复,然后四个坐标点可以求得它们两两之间的距离,只要两条短边的平方相加等于长边平方即可判定它为矩形。 注意: 正方形是特殊的矩形。...

2021-06-16 19:48:01 217 1

原创 MySQL外键约束

只有InnoDB的引擎才支持外键。 从表的外键必须是主表的唯一性索引,主键和外键的字段类型要相似,数值型类型要求一致,无符号也要要求一致,字符型长度可以不同,类型需要一致。 如果外键字段没有创建索引,MySQL会自动给外键创建普通索引。 外键可以在创建表的时候添加,也可以在创建表之后修改。 建表时指定外键。 动态创建外键 通过ALTER命令可以动态添加和删除外键,命令如下,需要注意的是,在动态添加外键前,从表中不能有脏值,否则不能添加成功。...

2021-06-16 14:41:11 461

原创 PHP遍历文件夹

<?php// php遍历文件夹function myScandir($dir){ $files = array(); if($handle = opendir($dir)) { while (($file = readdir($handle)) !== false) { if($file != '..' && $file != '.') { if(is_dir($dir."/".$file).

2021-06-16 10:16:32 79

原创 PHP快速排序

基本思想:在数组中挑出一个元素(多为第一个)作为标尺,扫描一遍数组将比标尺小的元素排在标尺之前,将所有比标尺大的元素排在标尺之后,通过递归将各子序列分别划分为更小的序列直到所有的序列顺序一致。<?php//快速排序function quick_sort($arr){ // 先判断是否需要继续进行 $length = count($arr); if($length <= 1) { return $arr; } $base_nu.

2021-06-15 17:15:17 93 2

原创 PHP顺序查找和二分查找

<?php// 顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组/** * 顺序查找 * @param array $arr 数组 * @param mixed $k 要查找的元素 * @return mixed 成功返回数组下标,失败返回-1 */function seq_sch($arr,$k){ for ($i=0,$n = count($arr); $i < $n; $i++) { if ($arr[$i] .

2021-06-15 16:19:22 122

原创 PHP洗牌算法

<?php// PHP洗牌算法 每次从数组中剩余元素随机取数按顺序拼成新的数组$card_num = 54; //牌数function wash_card($card_num){ $cards = $tmp = array(); for($i = 0;$i < $card_num;$i++){ $tmp[$i] = $i; } for($i = 0;$i < $card_num;$i++){ $index = ran.

2021-06-15 16:05:20 215 1

原创 PHP中use关键字与闭包函数

匿名函数(闭包函数)是一个独立的命名空间,你不能访问这个命名空间之外的变量,使用use关键字可以把外部的变量 带到这个命名空间中。可以通过使用 & 符号来声明指针变量。

2021-06-15 15:50:11 202

原创 PHP二维数组排序算法函数

<?php// 二维数组排序算法函数,能够具有通用性,可以调用php内置函数。function array_sort(&$arr, $order = []){ $result = []; if (empty($arr)) { return $result; } uasort($arr, function ($a, $b) use ($order) { foreach ($order as $key => $sort).

2021-06-15 15:21:22 80

原创 PHP实现约瑟夫环猴子选大王

//(约瑟夫环)猴子选大王// 思路:一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。<?php//(约瑟夫环)猴子选大王// 思路:一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去..

2021-06-15 14:49:22 117

原创 Iterator模式的PHP实现

<?php// 使对象可以像数组一样进行foreach循环,要求属性必须是私有。(Iterator模式的PHP实现,写一类实现Iterator接口)class Test implements Iterator{ private $item = array('id'=>1,'name'=>'php'); public function rewind(){ reset($this->item); } public functio.

2021-06-15 14:36:05 107

原创 PHP实现一个双向队列

<?phpclass Deque{ private $queue=array(); public function addFirst($item){ return array_unshift($this->queue,$item); } public function addLast($item){ return array_push($this->queue,$item); } public f.

2021-06-15 14:18:12 301

原创 MySQL锁与PHP文件锁

模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本例如:cmd: apache安装路径/bin/ab.exe -c 10 -n 10 http://web.test.com/test.php【切入正题】MYSQL中的锁:语法 :LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE .................. 【锁表】UNLOCK TABLES

2021-06-15 14:09:45 139

原创 PHP利用MySQL锁解决高并发

先看没有利用事务的时候并发的后果-- 库存管理表CREATE TABLE `t_storage` ( `f_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `f_number` int(11) DEFAULT NULL, PRIMARY KEY (`f_id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;-- 订单管理表CREATE TABLE `t_order` (...

2021-06-06 17:28:09 146 2

原创 MySQL索引底层原理与数据结构

深入理解Mysql索引底层原理 一步一步推导出Mysql索引的底层数据结构。 Mysql作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是Mysql数据的存储形式以及索引的设计,决定了Mysql整体的数据检索性能。 我们知道,索引的作用是做数据的快速检索,而快速检索的实现的本质是数据结构。通过不同数据结构的选择,实现各种数据快速检索。在数据库中,高效的查找算法是非常重要的,因为数据库中存储了大量数据,一个高效的索引能节省巨大的时间。比如下...

2021-06-03 20:03:43 171

SourceTree产品证书

下载此压缩包,解压后得到一个文件,直接导入即可使用。

2019-01-17

空空如也

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

TA关注的人

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