自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

转载 YII2 advanced 高级版本项目搭建-添加API应用以及多应用(一)

一、YII安裝安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用到composer的,可以去composer官网安装学习composer,这里就不介绍用composer安装yii,可以参考yii官网yii中文社区 http://www.yi...

2018-03-12 15:12:28 1201

转载 Redis持久化-数据丢失及解决

Redis的数据回写机制Redis的数据回写机制分同步和异步两种,同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。异步回写即BGSAVE命令,主进程fork后,复制自身并通过这个新的进程回写磁盘,回写结束后新进程自行关闭。由于这样做不需要主进程阻塞,系统不会假死,一般默认会采用这个方法。个 人感觉方法2采用fork主进程的方式很拙劣,但...

2018-03-01 10:06:31 740

转载 mysql大数据分库和分表 php解决方案

当Mysql数据量过大时,就会面临压力分解,这时分库分表是一个不错的解决方案,现在我们就来谈谈Mysql如何分库分表比较理想,然后再用php如何调用。1,主从复制,读写分离对主库修改数据,查询使用从库。一主多从,来降低数据库读取压力。2,分库分表根据实体业务来分库,分表。如,根据数据的活跃性,根...

2018-03-01 10:03:48 598

转载 提高mysql千万级大数据SQL查询优化30条经验

转载地址:http://www.jincon.com/archives/120/1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置...

2018-03-01 10:02:26 446

转载 SSO单点登录三种情况的实现方式详解

单点登录(SSO——Single Sign On)对于我们来说已经不陌生了。对于大型系统来说使用单点登录可以减少用户很多的麻烦。就拿百度来说吧,百度下面有很多的子系统——百度经验、百度知道、百度文库等等,如果我们使用这些系统的时候,每一个系统都需要我们输入用户名和密码登录一次的话,我相信用户体验肯定会直线下降。当然,对于个人博客这类系统来说根本就用不上单点登录了。假如,我们的系统很庞大,但是就是这...

2018-02-09 19:43:14 1149

转载 PHP集群session共享

集群的概念没有多复杂,其实就是多台电脑为了同一个目标在一起工作。在Web应用中,就是多个服务器提供一个站点的服务。搭建PHP集群的第一步就是设置负载均衡。首先我们需要三台主机:Nginx负载:192.166.5.111PHP应用1:192.168.5.112PHP应用2:192.168.5.113先前,在PHP应用所在的主机,我们需要安装Nginx或者apache等这类web服务器,然后再在前面使...

2018-02-09 19:36:14 724

转载 索引基础——B-Tree、B+Tree、红黑树、B*Tree数据结构

B树(B-Tree,并不是B“减”树,横杠为连接符,容易被误导)       是一种多路搜索树(并不是二叉的):       1.定义任意非叶子结点最多只有M个儿子;且M>2;       2.根结点的儿子数为[2, M];       3.除根结点以外的非叶子结点的儿子数为[M/2, M...

2018-02-09 19:31:26 204

转载 php 接口的token

接口特点汇总:1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效;2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程;3、有点接口需要用户登录才能访问;4、有点接口不需要用户登录就可访问;PHP Token(令牌)针对以上特点,移动端与服务端的通信就需要2把钥匙,即2个token。第一个token是针对接口的(api_token);第二个toke...

2018-02-09 09:23:43 421

转载 PHP中token验证

PHP在控制器中怎么添加token验证//获得token    private function getToken(){        $tokenName  = C('TOKEN_NAME',null,'__hash__');        $tokenType  = C('TOKEN_TYPE',null,'md5');        if(!isset($_SESSION[$tokenNam...

2018-02-09 09:21:43 1704

转载 nginx之30分钟搞定nginx反向代理和负载均衡

1. 什么是代理服务器1.1. 代理服务器的好处代理服务器架构1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。 2)防火墙作用 由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。 3)通过代理服务器访问不能...

2018-02-09 08:39:20 254

转载 全自定义环境安装TP5过程,采用apache、nginx、iis三大站点管理

针对不同的WEB服务器,ThinkPHP V5需要的伪静态内容是不一样的,而且在Apache服务器上,模块化运行与采用FCGI运行方式的伪静态也有差别-----------apache、nginx、iis、安装TP5之Apache篇开始-----------特别一提的地方(重要)在Apache服务器上,采用模块化运行与采用FCGI运行方式的伪静态也是有差别的、所以有的人在安装T

2018-02-06 20:40:33 5006

转载 为什么IT大牛都使用RESTful架构来编写API?

REST全称是Representational State Transfer,中文意思是表现层(编者注:通常译为表征)状态转化, 它首次出现在2000年Roy Fielding的博士论文中。 Roy Fielding在论文中提到:"我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和

2018-02-06 19:55:50 1705

转载 了解 SQL注入

1 .什么是sql注入(Sql injection)?Sql注入是一种将sql代码添加到输入参数中,传递到Sql服务器解析并执行的一种攻击手法2. 怎么产生的?Web开发人员无法保证所有的输入都已经过滤攻击者利用发送给Sql服务器的输入数据构造可执行的Sql代码数据库未做相应的安全配置3.如何寻找sql漏洞?识别web应用中所有输入点

2018-02-06 19:43:24 1326

转载 php中生成标准uuid(guid)的方法

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。使用UUID的好处是,能够保证独立性,程序可以在不同的数据库间迁移,

2018-02-06 18:38:24 2105

转载 十分钟学会memcache,比你想象的要简单

一.核心优化概述什么是优化:以更小的资源支持更大负载网站的运行,以小博大。思路:尽量减少用户等待时间,节省系统资源开销,节省带宽使用。优化什么地方?有三方面:Memcache内存缓存技术、静态化技术、mysql优化二.Memcache内存缓存技术:memcache是实现php语言 对内存 进行操作的中间介质。memcache与redis的区别和联系redis:支

2018-02-06 18:36:49 41515 3

原创 使用Git工作的一般流程

使用Git工作的一般流程使用Git工作的一般流程获得一个Git管理的工作区自己初始化一个仓库从远程仓库获得工作目录添加修改推送分支拉取别人的提交处理冲突获得一个Git管理的工作使用Git开始工作,首先需要一个Git管理的工作区,这个工作去可以是自己init创建的,也可以是从远程仓库clone下来的。自己初始化一个仓库这时,我们已经

2018-02-02 15:25:19 1269 1

转载 LNMP系统服务搭建过程详解

和LAMP不同的是LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)其他都一样。目前这种环境应用的也是非常之多。Nginx设计的初衷是提供一种快速高效多并发的web服务软件。在静态页面的处理上Nginx的确胜Apache一筹,然而在动态页面的处理上Nginx并不比Apache有多少优势。但是,目前还是有很多爱好者对Nginx比较热衷,随着Nginx的技术逐渐成熟,它在web服

2018-02-02 10:36:31 306

转载 Token 认证的来龙去脉

摘要: Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位不久前,我在在前后端分离实践中提到了基于 Token 的认证,现在我们稍稍深入一些。通常情况下,我们在讨论某个技术的时候,都是从问题开始。那么第一个问题:为什么要用 Token?而要回答这

2018-02-02 10:13:04 313

转载 PHP实现邮件发送的方法

这里简要介绍一下在PHP语言中实现邮件发送的两种方法,分别是使用socket发送和使用mail()函数发送的方式。1.使用socket发送原理:使用fsockopen函数打开一个Internet连接,函数的参数列表为fsockopen(string hostname,int port,int [errno],string [errstr],int [timeout]),这里由于要使用SMT

2018-02-02 09:30:03 2092

转载 使用opcache提升PHP性能

今天给大家介绍一个提升PHP性能的字节码缓存组件OPcache,OPcache通过将 PHP 脚本预编译的字节码存储到共享内存中来提升PHP的性能, 存储预编译字节码的好处就是省去了每次加载和解析PHP脚本的开销。默认是关闭的,适用于PHP5.5+版本,对于PHP 5.5以下版本的,需要使用APC加速。1、PHP开启opcache方法:打开php.ini文件,找到[opcache],做如下

2018-01-29 09:38:19 659

转载 Sphinx的介绍和原理探索

What/Sphinx是什么定义:Sphinx是一个全文检索引擎。特性:索引和性能优异易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口易于通过分布式搜索进行扩展高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒)高性能的搜索 (在1.2G文本,100万条文

2018-01-28 19:52:39 3502

转载 Miss带你来做php+mysql模拟队列发送邮件

邮件发送原理telnet命令模拟邮件发送:1、cmd命令下telnet连接上QQ的smtp服务器telnet smtp.163.com 25遇到问题以及解决办法:telnet命令错误控制面板下windows功能开启telnet客户端后重新运行即可成功2、和smtp服务器打招呼helo Miss (hi可以为任意

2018-01-24 08:16:17 1121

转载 php的api接口

在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证。验证原理示意图原理从图中可以看得很清楚,前台想要调用接口,需要使用几个参数生成签名。时间戳:当前时间随机数:

2018-01-21 19:24:26 5120

转载 五分钟带你快速学会MongoDB

一、mogodb的认识1、简介MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。MongoDB 2.4中新引入了V8引擎, V8 是 Google 发布的开源 JavaScript 引擎,采用 C++ 编写,在 Google 的 C

2018-01-20 15:45:56 597

转载 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。

2018-01-19 19:19:05 252

转载 Ubuntu 12.04下安装MySQL图解

在Linux下安装MySQL有三种方式:第一种以rpm的二进制文件分个安装,第二种是自己编译源码后安装,最后一种是以二进制tar.gz文件来安装。这三种中,由于最后一种是统一的整体文件,个人感觉最简单,故本文将采用此方式来进行安装:首先到mysql的下载中心上下载最新的tar.gz包:1.在浏览器中输入http://www.mysql.com/downloads/,进入mysql的下载

2018-01-19 19:02:33 930

转载 搞定mysql优化,十分钟就够了

缓存设置有的被频繁执行的sql语句,比较消耗时间、消耗系统资源(没的优化可做)并且每次获得数据还不太发生变化那么就把这个sql语句获得信息给缓存起来,供后续执行使用这样非常节省系统资源。1. 具体使用2. 缓存失效数据表的数据有变化 或者 数据表结构有变化,则缓存失效。3. 什么情况不使用缓存sql语句每次获得数据有变化。例如有 时间信息

2018-01-16 20:50:47 294

转载 十大经典排序算法总结(JavaScript描述)

正文排序算法说明(1)排序的定义:对一序列对象根据某个关键字进行排序;输入:n个数:a1,a2,a3,...,an输出:n个数的排列:a1',a2',a3',...,an',使得a1'再讲的形象点就是排排坐,调座位,高的站在后面,矮的站在前面咯。(3)对于评述算法优劣术语的说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面

2018-01-16 20:12:51 228

转载 负载均衡----实现配置篇(Nginx)

首先 :PA、P1、P2、P3都安装了Nginx,不会安装的可以去官网查看教程:http://www.nginx.cn/install(中文版教程、非常的牛X)http://blog.csdn.net/lhszj/article/details/519085071. 装完之后哈,我们先找到 PA 的nginx.conf配置文件:在http段加入以下代码:upstream serve

2018-01-14 19:29:25 160

转载 秒杀系统架构优化思路

一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如:12306抢票,票是有限的,库存一

2018-01-12 20:46:01 113

原创 语句include和require的区别是什么?为避免多次包含同意文件,可用?语句来代替他们?

(1)include()在执行文件时每次都要进行读取和评估;require()文件只处理一次(实际上文件内容替换了require()语句)(2)require()通常放在PHP脚本程序的最前面include()的使用和require()一样,一般放在流程控制的处理区段中,PHP脚本文件读到include()语句时,才将它包含的文件读进来,这种方式,可以把程序执行时的流程简单

2018-01-11 13:48:24 3563

原创 七牛云存储图片封装

七牛云存储图片封装   对于qiniu类库的下载,一是通过composer,如果电脑中有composer,安装很快捷,在项目根目录下php composer.phar require qiniu/php-sdk,或者composer require qiniu/php-sdk等待即可完成。   对于电脑中没有composer的,可以直接下载提供的符合 Composer 规范的vendo

2018-01-10 20:26:38 446

转载 非常重要的一些SQL语句

罗列一些非常重要的SQL语句,供需要的时候查询使用:1.你可以随时使用DESCRIBE查询表的结构,例如你忘记表中的列的名称或类型时,使用如:DESCRIBE table_a;2.要想将文本文件text.txt(该文件包含了表的插入数据信息,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。)装载到table_a表中,使

2018-01-08 20:40:13 579

转载 使用mongoDB必须要知道的备份和恢复数据库的命令

1.进入到mongo软件安装bin目录 即包含.exe文件的文件夹2.备份mongodump -h 192.168.88.88 -d cmlib -o D:MongoDBdataBak88-h mongo安装的ip-d 要备份的数据库名称-o 备份路径 没有的话会自动创建3.恢复(导入)全部恢复:mongorestore -h 192.168

2018-01-08 18:55:33 1606

转载 Windows下安装Redis及php的redis拓展教程

一.安装前必读Windows 64位操作系统Redis 安装包(版本3.0.5,截止2017-05-29最新redis版本为3.2.9)注意事项:1.在window下如果你还需安装php的redis拓展,那么安装最新版本的redis可能没有对应的php_redis.dll;2.网上的windows下安装redis及PHP拓展教程大多是redis2.x版本的,对于想安装高版本

2018-01-08 08:45:41 178

原创 Laravel 支付解决方案之如何使用微信支付进行支付

前两节我们陆续讲了在Laravel中如何使用支付宝和银联支付进行支付,这一节我们来探讨另一种时下热门的支付方式——微信支付。说来也是,微信那么多用户,微信推出来的支付工具用的人自然不少,尤其是微信红包对微信支付的推广更是起到至关重要的作用。正因如此许多网站和App都添加了对微信支付的支持。Laravel作为全世界最流行的PHP框架,在国内也是拥有许多拥趸,也就自然不乏对微信支付的支持,当然和支

2018-01-05 19:18:16 2773

原创 Laravel 支付解决方案之如何使用银联支付进行支付

上一节我们讨论了在Laravel中如何使用支付宝进行支付,这一节我们讲另一种常见的支付方式:银联支付。通过上一节的学习想必大家已经了解了OmniPay这个牛逼的GitHub项目,也对如何使用OmniPay for Laravel 5 & Lumen这个Laravel包有了大致的了解。没错,我们接下来要讲的银联支付还是使用这个Laravel包,并集成OmniPay提供的银联支付(UnionPay

2018-01-05 19:14:56 1550

转载 十分钟让你学会LNMP架构负载均衡

一、几个基本概念1、pv 值pv 值(page views):页面的浏览量概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)2、uv值uv值(unique visitor)独立访客概念:一个网站,在一天内的用户访问数。(大型网站通常达10万以上)3、独立IP概念:一个网站,在一天内,有多少个独立的ip地址来访问。鉴于一个局域网对外

2017-12-29 18:54:27 3985

原创 小编带你学习sphinx

1. 为什么要使用sphinx在实际开发中,对于大文本的字段,例如(text、varchar),在做查询的时候,一般我们会使用模糊查询,这个时候,如果是like %name%这样的查询,这个时候索引就会失效。好比商品名称查询:# select * from tableName where goods_name like "%苹果%";(%出现在关键字的最左边 索引失效 但是"苹果%"这

2017-12-29 18:51:54 380

转载 数据库优化之mysql

1. 优化流程图mysql优化(主要增加数据库的select查询,让查询速度更快)2. 优化mysql的方面主要从以下四个方面去优化mysql①存储层:如何选择一个数据库引擎,选择合适的字段列类型②设计层:满足表的三范式,建立适当的索引,分表分区③sql层:设计出更好的sql语句④架构层:msyql读写分离2. 数据库表的引擎1. 引擎的简介不同的数

2017-12-29 18:40:38 264

layer.js,一个好用的弹出层

layer.js,,,一个好用的弹出层,废话不多说,为了凑够50个字

2018-07-24

DBdocument

数据字典生成工具,适用于mysql oracle SQLserver。

2017-12-30

空空如也

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

TA关注的人

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