自定义博客皮肤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)
  • 收藏
  • 关注

原创 PHP 7 的五大新特性

1. 运算符(NULL 合并运算符)把这个放在第一个说是因为我觉得它很有用。用法:$a = $_GET['a'] ?? 1;它相当于:$a = isset($_GET['a']) ? $_GET['a'] : 1;我们知道三元运算符是可以这样用的:$a ?: 1但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算符可以简化判断。2. 函数返回

2016-10-21 17:25:30 479

原创 怎样把你的MySQL完全中文化

由于系统自带的MySQL默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中消耗了我们无数的精力以及系统的资源。 先将让slack支持中文,然后重新编译MySQL,原来系统MySQL的要先卸载: login:root shell> removepkg mysql shell> groupadd mysql shell> cd

2016-10-21 17:20:16 874

原创 mysqlreport 中文文档

mysqlreport 以很友好的方式显示 MySQL状态变。事实上,它几乎报告了所有的状态。不像 SHOW STATUS 只是在显示了100多个状态值,mysqlreport 则以人性化的方式阐释和格式化了这些状态值,大大增加了其可读性。可以 点击这里 查看mysqlreport的例子。 mysqlreport 的好处是可以快速的查看各种状态参数组,从而了解服务器的运行状态情况,而无需从 SHO

2016-10-21 17:08:00 389

原创 Linux查看日志命令

1、cat命令: 功能:1)显示整个文件。 示例: $ cat fileName 2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕。 示例: $ cat file1 file2 > file 说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案) cat参数详解: -n 或

2016-10-21 17:03:19 340

原创 MySQL主从复制的原理及配置方法

MySQL 的数据库的高可用性的架构大概有以下几种:集群,读写分离,主备。而后面两种都是通过复制来实现的。下面将简单介绍复制的原理及配置,以及一些常见的问题一、复制的原理MySQL 复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新。将主服务器的数据拷贝到从服务器的一

2016-10-21 17:01:32 805

原创 MySQL全文搜索引擎mysqlcft

MySQL在高并发连接、数据库记录数较多的情况下,SELECT … WHERE … LIKE ‘%…%’的全文搜索方式不仅效率差,而且以通配符%开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供 了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为 止,MySQL对中文全文索引无

2016-10-21 16:44:20 1432

转载 Mysql几种索引方式的区别及适用情况

Mysql目前主要有以下几种索引方式:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据

2016-10-21 16:26:06 301

转载 redis五种运用类型场景

一、redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码。目前目标是吃透 redis 的数据结构。我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串 Hash——字典 List——列表 Set——集合 Sorted Set——有序集合 下面

2016-10-12 14:43:34 271

转载 存储过程

存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点: 1、执行速度比普通的SQL语句快 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。 2、便于集中控制

2016-10-12 08:40:22 352

转载 redis使用watch完成秒杀抢购功能

Redis使用watch完成秒杀抢购功能:使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下:首先选用内存数据库来抢购速度极快。速度快并发自然没不是问题。使用悲观锁,会迅速增加系统资源。比队列强的多,队列会使你的内存数据库资源瞬间爆棚。使用乐观锁,达到综合需求。我觉得以下代码肯定是你想要的。[php] v

2016-10-11 21:28:44 370

转载 MySQL存储引擎--MyISAM与InnoDB区别

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

2016-10-11 21:22:56 303

原创 设计模式的好处

设计模式的简单理解:模式是在某一背景下某个问题的一种解决方案。 1、复用解决方案——通过复用已经公认的设计,我能够在解决问题时取得先发优势,而且避免重蹈前人覆辙。我可以从学习他人的经验中获益,用不着为那些总是会重复出现的问题再次设计解决方案了。 2、确立通用术语——开发中的交流和协作都需要共同的词汇基础和对问题的共识。设计模式在项目的分析和设计阶段提供了共同的基准点。 3、提高观察高度--模式

2016-10-11 18:49:36 2235

转载 撰写合格的REST API

REST API是一个系统的backend和frontend(或者3rd party)打交道的通道,承前启后,有很多很多隐式需求,比如调用接口与RFC保持一致,API的内在和外在的安全性等等,并非提供几个endpoint,返回相应的json数据那么简单。仔细研究了原作者的代码,发现缺失的东西实在太多,每个API基本都在各自为战,与其修补,不如重写(并非是程序员相轻的缘故),于是我花了一整周,重写了所

2016-10-11 18:45:01 317

转载 RESTful架构详解

什么是REST  REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好

2016-10-11 18:43:16 273

转载 浏览器允许的并发请求资源数是有限制的-分析

开始之前,我们先看下各个浏览器公布的资源并发数限制个数,如下图浏览器的并发请求数目限制是针对同一域名的。 意即,同一时间针对同一域名下的请求有一定数量限制。超过限制数目的请求会被阻塞,这就是很多网站专门解决这个问题的原因。有的请求会持续很长时间,如果把 img, css, js… 都放到http://一个域名下面,其他请求就迟迟无法完成,浏览者看来就是『卡住了』。而把图片放到另一个域名之后,css

2016-10-11 15:40:29 12384

转载 对称加密与非对称加密

原创地址:http://www.cnblogs.com/jfzhu/p/4020928.html转载请注明出处(一)对称加密(Symmetric Cryptography)对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常

2016-10-11 13:35:47 237

转载 php xfocus防注入资料

先来说说安全问题,我们首先看一下两篇文章: http://www.xfocus.net/articles/200107/227.html http://www.xfocus.net/articles/200107/228.html 上面文章是安全焦点上的关于PHP安全的文章,基本上比较全面的介绍了关于PHP的一些安全问题。在PHP编码的时候,如果考虑到一些比较基本的安全问题,首先一点:1. 初

2016-10-11 10:50:05 326

转载 PHP APC缓存配置、使用详解

本文详细介绍了PHP APC模块的简介、参数配置、安装步骤、使用实例,由于部份内容是从PHP Manual中翻译而来,可能存在不全面的地方。希望得到各位的指正一、APC缓存简介APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。系统缓存它是指APC把PHP文件

2016-10-11 10:36:07 1675

转载 微信支付的开发流程

最近在公司做了微信支付的接入,这里总结下开发的一些经验注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关。微信支付的主要操作流程1.用户浏览app,选定商品然后下单。2.服务器处理订单逻辑,开始正式发起支付流程3.首先,后台服务器向weixin服务器发起请求,获取一个token。4.后台服务器拿到token,使用和其他参数加密,再次向weixin服务器发起请求,获取一个预支付pr

2016-10-10 19:52:21 761

原创 Amoeba for MySQL---分布式数据库Proxy解决方案

Amoeba for MySQL 位于Client、Database Server(s)之间,具有负载均衡、高可用性、sql过滤、可承受高并发、读写分离、Query Route(解析sql query语句,并且根据条件与预先设定的规则,请求到指定的目标数据库。可并发请求多台数据库合并结果)、对客户端透明,能降低数据切分带来的复杂多数据库结构、数据切分规则给应用带来的影响。适用mysql 4.1或者以

2016-10-10 18:44:41 291

原创 什么是QPS,PV,UV,PR

术语说明:QPS = req/sec = 请求数/秒【QPS计算PV和机器的方式】QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总数 * 请求时间 ) QPS: 单个进程每秒请求服务器的成功次数单台服务器每天PV计算 公式1:每天总PV = QPS * 3600 * 6 公式2:每天总PV = QPS * 3600 * 8服务器计算 服务器数

2016-10-10 16:09:01 2444

原创 压缩技术

空格压缩(Null Compression) 将一串空格用一个压缩码代替,压缩码后面的数值代表空格的个数。目录1压缩技术2基本的压缩技术3存储系统压缩4文件压缩5图形、视频和声音压缩6处理多媒体信息的几个...7数据通信压缩基本的压缩技术/压缩技术  基本的压缩技术有:  游长压缩(Run-Length Compression)它是空格压缩技术的扩充,压缩任何4个或更多的

2016-10-10 09:32:38 1055

原创 网络爬虫技术总结

摘要: 对于大数据行业,数据的价值不言而喻,在这个信息爆炸的年代,互联网上有太多的信息数据,对于中小微公司,合理利用爬虫爬取有价值的数据,是弥补自身先天数据短板的不二选择,本文主要从爬虫原理、架构、分类以及反爬虫技术来对爬虫技术进行了总结。1、爬虫技术概述网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动

2016-10-09 18:48:02 1801

原创 [Pholcus爬虫] 应对网站反爬虫的多项策略

摘要: Pholcus如何应对网站反爬虫策略?Pholcus应对网站反爬虫的核心思想就是:模仿人工操作具体应对策略如下:1、 两次请求之间进行随机暂停 ,该时间可以在操作界面设置 2、 当不需缓存cookie时,设置Spider.EnableCookie=true,下载器将会自动更换User-Agent 3、 支持代理IP,其可以在操作界面设置更换IP的时间频率 4、 自动

2016-10-09 18:42:08 861

原创 关于反爬虫和恶意攻击的一些策略和思路

摘要: 去年曾遇到过类似的百度爬虫攻击,积累了点经验,文中的方法也很不错,值得借鉴前段时间Guang.com经常受到恶意spider攻击,疯狂抓取网站内容,一系列机器人spam发广告,对网站性能有较大影响。 下面我说说一些反恶意spider和spam的策略和思路。1. 通过日志分析来识别恶意爬虫/攻击less guang.com_access.log | awk -F- ‘{print $1

2016-10-09 18:39:48 2055

原创 互联网网站的反爬虫策略浅析

互联网网站的反爬虫策略浅析 摘要: 因为搜索引擎的流行,网络爬虫已经成了很普及网络技术,除了专门做搜索的Google,Yahoo,微软,百度以外,几乎每个大型门户网站都有自己的搜索引擎,大大小小叫得出来名字得就几十种,还有各种不知名的几千几万种,对于一个内容型驱动的网站来说,受到网络爬虫的光顾是不可避免的。 一些智能的搜索引擎爬虫的爬取频率比较合理,对网站资源消耗比较少,但是很多糟糕的网络爬虫,对网

2016-10-09 18:35:40 358

原创 随机种子

多数使用随机数的计算器都有一个输入端叫做种子。因此种子是用来干什么的?为什么你试图改变它?你如何知道将它改变成什么?首先说说随机。随机是计算的一个问题,如果你输入相同的命令将总是以相同的结果终止。使用数学计算器产生真实的随机数这在数学上被证明是不可能的,但是生成虚拟的随机数字相当容易。这对于伪随机数来说不是个坏消息,不像真实的随机数字,它们可以被多次重复生成,你每次都将得到相同的随机数。可以按要求生

2016-10-09 14:35:57 880

原创 爬虫技术浅析

摘要: 网络爬虫(Web crawler),是一种“自动化浏览网络”的程序,或者说是一种网络机器人。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以便程序做下一步的处理。在WEB2.0时代,动态网页盛行起来。那么爬虫就应该能在页面内爬到这些有javascript生成的链接。当然动态解析页面只是爬虫的一个技术点。下面,我将

2016-10-09 14:19:28 779

原创 memcache集群服务:memagent配置使用

magent是一款开源的memcached代理服务器软件 地址:http://code.google.com/p/memagent/安装magent到/usr/local/下 cd /usr/local mkdir magent cd magent/ wget http://memagent.googlecode.com/files/magent-0.5.tar.gz tar zxvf

2016-10-09 13:49:43 749

原创 redis 高可用解决方案

【转自】http://warm-breeze.iteye.com/blog/2020413本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定),Redis集群是以分片(Sharding)加主从的方式

2016-10-08 19:57:04 360

转载 浅谈MVC、MVP、MVVM架构模式的区别和联系

MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。一、MVC(Model-View-Controller)MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。MVC使用非常广泛,比如JavaEE中的SSH框架(

2016-10-08 19:47:47 698

转载 什么是死锁,简述死锁发生的四个必要条件,如何避免死锁,解除死锁

1.死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。2.产生死锁的原因:(1)竞争不可抢占性资源。(2)竞争可消耗资源。当系统中供多个进程共享的资源如打印机,公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。(3)进程推进顺序不当。 进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。如果

2016-09-30 09:05:15 12811

原创 精讲你对网站安全的建议

目前很多人都采用开源程序做网站,由于源码公开,因此程序漏洞暴露明显,很容易被黑! 安全专家建议大家参考以下部分安全建议,做好自身安全: (1)仔细查看安装说明,切记修改默认数据库名,并且一定要把扩展名改为asp或者asa,因为不经处理的数据库可以直接下载,根本无安全可言,另外可以把数据库所在目录改名。 (2)尽量不采用无组件上传,使用其他组件上传方式(比如Fileup或LyfUpload),部分

2016-09-29 20:06:02 420

转载 动态缓存技术之CSI,SSI,ESI

平时我们谈页面,大都数是以页面为单位的。 一、CSI (Client Side Includes) 含义:通过iframe、javascript、ajax等方式将另外一个页面的内容动态包含进来。 原理:整个页面依然可以静态化为html页面,不过在需要动态的地方则通过iframe,javascript或ajax来动态加载! 例子: 优点:相对比较简单,不需要服务器端做改变和配置; 缺点:不

2016-09-29 14:04:07 428

转载 深入理解分布式事务

1、什么是分布式事务分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 2、分布式事务的产生的原因 2

2016-09-29 10:34:11 244

原创 数据库面试常问的一些基本概念

1、超键、候选键、主键、外键超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。外键:在一个表中存在的另一个表的主键称此表的

2016-09-27 16:56:41 220

转载 DML,DDL,DCL,DQL的区别

DML英文缩写  DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是UPDATE更新、INSERT插入、DELETE删除。  DML = Data Media Laboratory,数据媒体实验室。  DML = Doctor of Modern Languages,现代语言博士。  DML(Da

2016-09-27 16:54:13 742

原创 了解压测

什么是服务器压力测试? 通过压力测试对游戏或应用服务器性能进行高压测试,暴露出其所存在的问题 主要是从以下三个维度来衡量 • 响应时间:从用户角度 • 服务器资源:从系统角度 • 吞吐量:从业务角度为什么要做压测? 无论是对广大的用户,还是项目团队本身,亦或是运维工作,压力测试是一项很重要的工作。比如在一个游戏上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接

2016-09-27 16:51:44 526

原创 Hession与Webservice的区别

Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用了二进制协议,所以它很适合于发送二进制数据,Hessian主要作面向对象的消息通信。Hessian的初衷就是支持动态类型,格式紧凑,跨语言。Hessian是使用自己的序列化机制实现的编组和反编组,其支

2016-09-27 16:46:59 456

原创 高并发下的 Nginx 优化

高并发下的 Nginx 优化我已经谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apache迁移过来的,因些他们过去常常调整配置和执行魔术操作来确保服务器高效运行. 我有一些坏消息要告诉你, 你不能像Apache一样优化Nginx.它没有魔术配置来减半负载或是让PHP运行速度加快一倍. 高兴的是, Nginx已经优化的非常好了. 当你决定使用Ng

2016-09-27 16:32:52 445

空空如也

空空如也

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

TA关注的人

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