自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 生成全局唯一ID的几种方法

版权声明:本文为博主原创文章,未经博主允许不转载1.自定义生成规则 eg: 3位服务器编码+15位年月日时分秒毫秒+3位表编码+4位随机码 (这样就完全单机完成编码任务)---共25位 3位服务器编码+15位年月日时分秒毫秒+3位表编码+4流水码 (这样流水码就需要结合数据库和缓存)---共25位2.单独开一个数据库,获取全局唯一的自增序列或个

2016-11-10 10:36:06 7618

原创 mysql 常用函数

一、数学函数ABS(x)   返回x的绝对值BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x)   返回大于x的最小整数值EXP(x)   返回值e(自然对数的底)的x次方FLOOR(x)   返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn)     

2016-11-09 15:24:17 802 1

原创 PHPMqtt详解

PHPMqtt

2022-06-06 17:51:27 3000

原创 PHP API接口加密

PHP 加密

2022-06-06 17:32:40 641

转载 PHP API接口鉴权

PHP API 鉴权

2022-06-06 17:30:34 1289

原创 PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件

配置php.ini文件复制代码 代码如下:file_uploads = on ;//是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir ;//文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize = 1024m ;//望文生意,即允许上传文件大小的最大值。默认为2M,我们设置为1G

2017-04-05 10:43:12 1991

原创 简述DNS进行域名解析的过程

1、当客户机提出查询请求时,首先在本地计算机的缓存中查找。如果在本地无法获得查询信息,则将查询请求发给DNS服务器。2、首先客户机将域名查询请求发送到本地DNS服务器,当本地DNS服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则利用此记录进行解析;如果没有区域信息可以满足查询要求,服务器在本地的缓存中查找。3、如果本地服务器不能在本地找到客户机查询的信息,将客户机

2017-01-06 10:09:09 9441

原创 php强制转化详解

强制转换中分为两种,第一种就只临时转换,和永久转换。在临时转换中呢,首先可以通过第一中方式来显示,就是小括号的形式,临时转换成整型我们可以通过(int)都是这样的形式,或者是(integer)临时转换成整型,再往下再来看,临时转成浮点类型可以通过(float)或者是(double)或者是(rea!)临时转换成浮点类型,第三个临时转换成布尔类型,可以通过(boolean)或者你可以试验一下(bool

2017-01-05 21:00:26 323

转载 php垃圾回收机制

在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间是否能够被释放的时候是依据这个变量的zval的refcount的值,如果refcount为0,那么变量的空间可以被释放,否则就不释放,这是一种非常简单的GC实现。然而在这种简单的GC实现方案中,出现了意想不到的变量内存泄漏情况(Bug:http://bugs.php.NET/bug

2017-01-05 20:57:34 210

原创 多种设计模式,需要掌握熟练的有哪些

工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式都是比较常用的 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory           

2017-01-05 20:55:44 801

原创 对于大流量的网站,您采用什么样的方法来解决访问量问题?

访问量性能优化高性能 当一个网站发展为知名网站的时候(如新浪,腾讯,网易,雅虎),网站的访问量通常都会非常大,如果使用虚拟主机的话,网站就会因为访问量过大而引起 服务器性能问题,这是很多人的烦恼,有人使用取消RSS等错误的方法来解决问题,显然是下错药,那么对于大流量的网站,需要采用什么样的方法来解决访问量 问题? 解决方法参考如下:         首先,确认服务器硬件是否足够支持当前的流

2017-01-05 20:51:19 2253

原创 redis的5种数据类型的使用

StringString  常用命令:  除了get、set、incr、decr mget等操作外,Redis还提供了下面一些操作:  获取字符串长度  往字符串append内容  设置和获取字符串的某一段内容  设置及获取字符串的某一位(bit)  批量设置一系列字符串的内容    应用场景:  String是最常用的一种数据类型,普通的key/value存储都可

2017-01-03 11:36:23 241

原创 对mysql存储性能优化的基本理解

这几天了解了下关于mysql数据库的性优化和设计方面的内容,现在做一下自己学习的小结,后续我会继续深入学习,完善下总结:1、使用索引每张表最多可以做16个索引,支持多列索引和全文索引建立索引:create index index_name on users(username);查看索引:show index from users;是一把双刃剑,建不建立索引,主要看表的功能,找好

2016-12-31 11:41:53 293

原创 反向代理和正向代理的区别

正向代理的概念正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我从网站的角度,只在代理服务器来取内容的时候有一次记录有时候并不知道是用户的请求,也隐藏了用户的

2016-12-31 11:36:44 363 1

原创 网站的PV量的计算和建设

你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢? PV是什么:PV是page view的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv。计算模型: 每台服务器每秒处理请求的数量=((80%*总PV量)/(24小时*60分*60秒*40%)) / 服务器数量 。其中关键的参数是

2016-12-31 10:57:03 2664 2

原创 PHP的发展历史

PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者

2016-12-30 16:23:46 882 2

原创 php-fpm 启动参数及重要配置详解

约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm的启动参数12345678910111213#测试php-fpm配置/usr/local/ph

2016-12-30 16:04:10 246

原创 CGI、FastCGI、php-fpm 之间关系的区别

CGI是HTTP Server和一个独立的进程之间的协议,把HTTP Request的Header设置成进程的环境变量,HTTP Request的正文设置成进程的标准输入,而进程的标准输出就是HTTP Response包括Header和正文。FASTCGI是和HTTP协议类似的概念。无非就是规定了在同一个TCP连接里怎么同时传多个HTTP连接。这实际上导致了个问题,有个HTTP连接传个大文

2016-12-30 16:01:44 369

原创 MYSQL 中事物的理解

一 事务的属性 事务具有ACID属性 即 Atomic原子性, Consistent一致性, Isolated隔离性, Durable永久性 原子性 就是事务应作为一个工作单元,事务处理完成,所有的工作要么都在数据库中保存下来,要么完全 回滚,全部不保留 一致性 事务完成或者撤销后,都应该处于一致的状态 隔离性 多个事务同时进行,它们之间应该

2016-12-30 15:54:11 310

原创 MYSQL中 char和 varchar的 区别详解

char是一种固定长度的类型,varchar则是一种可变长度的类型   char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).在MySQL中用来判断是否需要进行对据

2016-12-30 15:51:27 314

原创 MyISAM 和InnoDB 详解

MyISAM 和InnoDB 讲解  InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。  以下是一些细节和具

2016-12-30 15:42:57 233

原创 php结合redis实现高并发下的抢购、秒杀功能

抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题

2016-11-15 20:19:42 326

原创 用Redis轻松实现秒杀系统原理

秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。用我这个方案,无论是电商平台特价秒杀,12306火车票秒杀,都不是事:)下面介绍一下为什

2016-11-14 16:47:21 2638

原创 用redis做一个简单的秒杀

下面是一个简单的下单操作 include "MMysql.class.php";$configArr=[ 'host'=>, 'port'=>, 'user'=>, 'passwd'=>, 'dbname'=>,];$db = new MMysql($configArr);$sql="select * from sdb_b2c_products where product_

2016-11-14 16:36:24 625

原创 redis使用watch完成秒杀抢购功能

Redis使用watch完成秒杀抢购功能:使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下:1. 首先选用内存数据库来抢购速度极快。2. 速度快并发自然没不是问题。3. 使用悲观锁,会迅速增加系统资源。4. 比队列强的多,队列会使你的内存数据库资源瞬间爆棚。5. 使用乐观锁,达到综合需

2016-11-14 16:33:28 904

原创 nginx重定向规则详细介绍

rewrite命令nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下:rewrite 正则表达式 替换目标 flag标记flag标记可以用以下几种格式:last – 基本上都用这个Flag。break –

2016-11-10 18:48:47 481

原创 【php】mysql全局ID生成方案

生产系统随着业务增长总会经历一个业务量由小变大的过程,可扩展性是考量数据库系统高可用性的一个重要指标;在单表/数据库数据量过大,更新量不断飙涨时,MySQL DBA往往会对业务系统提出sharding的方案。既然要sharding,那么不可避免的要讨论到sharding key问题,在有些业务系统中,必须保证sharding key全局唯一,比如存放商品的数据库等,那么如何生成全局唯一的ID呢,下

2016-11-10 17:43:56 231

原创 PHP 单例模式

前些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理解了,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实际操作就不行了,废话就不多说了,PHP战线上的同志们都加油吧;单例模式(职责模式):简单的说,一个对象

2016-11-10 17:40:08 182

原创 面试题之字符串反转

要求,如下:首先做了一个提交表单页面,form.PHP代码如下:php   header('content-type:text/html;charset=utf8 ');     ?>   center>   form action="fanzhuan.php" method="post">      input type="text" name="str">

2016-11-09 20:34:02 339 1

转载 mysql主从复制windows-》linux

第一步主从服务器ip分别为:主:192.168.1.160 从:192.168.1.64修改主服务器master::打开电脑右下角任务栏里的phpstudy->点击右下角其他选项菜单->打开配置文件里面的MySQL-ini.将下面两行复制到mysql-ini最下面:    log-bin=mysql-bin   #[必须]启用二进制日志      server-id

2016-11-09 15:30:17 183

转载 ab 模拟测试秒杀存在的问题

.我的环境是windows下的phpstudy,进入到apache/bin目录里面有个ab.exe,压力测试命令如下[python] view plain copy ./ab.exe -c 200 -n 1000 http://192.168.1.244/mysql.php  2.mysql.php代码如下正常的逻辑思维,压力增大后,导致数据库num字段

2016-11-09 15:28:27 266

转载 PDO 解析

需求:手里有一个大项目,需要支持多种数据库(Oracle,MySQL),采用面向对象的方式去实现。分成两个团队进行不同数据库的支持。图片1  上面的管理方式是直接使用PHP的源代码去管理不同的数据库,PHP后来增加了一个中间层来管理不同的数据库(PDO),php脚本只需要去操作PDO就能够实现对不同数据库的操作。图片2  PDO介绍PDO1. 什么是PDO?

2016-11-09 15:26:33 407

原创 mysql分表和表分区详解

为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可

2016-10-20 15:10:43 189

转载 mysql 数据库分表及实现

项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。我们可以进行简单的设想

2016-10-20 14:44:53 344

转载 https协议详解

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 https协议详解      HTTPS以保密为目标研发,简单讲是HTTP的安全版。其安全基础是SSL协议,因此加密的详细内容请看SSL。全称Hypertext Transfer Protocol over Secure Socket Layer。       它是一个UR

2016-10-18 19:07:54 405

转载 Yii2 深入了解模型之增删改查

1、ActiveRecord类型的增删改查以\app\models\Article 模型为准, 来操作以下函数1) 查询数据 ①findAll 查询多条数据 \app\models\Article::findAll([‘status’ => ‘1’]); //查询 Article , status为 1 的所有数据 ②根据 findOne 进行查询, 根式\ap

2016-10-07 11:32:33 198

转载 PHP封装好的发送邮件实例

class Mail {        static public $error = '';        static public function send($title,$content,$user,$address){                $mail= new PHPMailer();                /*服务器相关信息*/          

2016-09-23 11:44:34 344

转载 用memcache 做秒杀原理

秒杀的话要用memc的自减方法开始之前$mem=new Memcache;$num = 100;$goods_id= $_GET['goods_id'];$mem->set($goods_id, $num);秒杀进行中$goods_id=$_GET['goods_id'];$left = $mem->decrement

2016-09-23 11:37:14 346

转载 Windows 下计划任务 PHP示例代码

所谓任务计划就是由计算机自动调用用户事先设置好的应用程序,从而达到简化用户操作的目的。利用Windows 2000的任务计划程序(相当与*NIX下的cron程序,这里不再对其详述),我们可以安排任何脚本、程序或文档在最恰当的时候运行,从而满足自己的需要。下面以Windows 2000为例。具体来说,我们若需利用任务计划程序自动运行则应执行如下步骤:单击"开始"按钮,然后依次选择"程序"→"

2016-09-23 10:57:14 259

转载 PHP接口实现手机短信验证

利用https://app.netease.im/index#/网站接口,制作手机发送验证码public function phone(){        //发送到的目标手机号码 $telphone        $telphone = $_GET['phone'];        $appSecret = 'cbb*******3b6';        $CurTi

2016-09-23 09:07:33 1228

空空如也

空空如也

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

TA关注的人

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