自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱代码也爱生活

吸收别人的精华,记录自己的点滴,爱好php、java、数据库、运维--如果你是房间里最聪明的人,那么你走错房间了...

原创 mysql分库分表实战及php代码操作完整实例

当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间 分库: 1)按功能分 用户类库、商品类库、订单类库、日志类、统计类库... 1)按地区分 每个城市或省市一个同样的库,加上后缀或前缀如:db_click_bj、db_...

2016-08-07 16:25:16 15729 1

原创 centos完美搭建redis3.0集群并附测试

由于最小的redis集群需要3个主节点,一台机器可运行多个redis实例,我搭建时使用两台机器,6个redis实例,其中三个主节点,三个从节点作为备份 网上很多使用单台服务器开6个端口,操作差不多,只是配置基本相对简单点,多台服务器更接近生产环境,本着少说多做的原则,先装好再剖析

2016-08-06 06:50:25 8026 11

原创 memcache一致性hash算法实战

关于memcache一致性hash算法原理:http://blog.csdn.net/nuli888/article/details/52128999 使用memcache集群时,客户端"一致性hash算法"设置: 第一种:使用memcahe扩展时如果想应用...

2016-08-05 14:46:16 3288 1

原创 centos lvs+keepalived+mysql实现mysql数据库热备主主复制

实验环境: linux:centos6.6 虚拟ip(vip):192.168.135.199 mysql master:192.168.20.193 mysql slave:192.168.20.195 (这里只是为了后文方便区分,一个叫master,一个叫slave,其实在主主复制中,都是ma...

2016-07-15 15:58:38 4856 1

原创 centos使用nginx反向代理实现负载均衡

nginx做负载均衡的优点: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,nginx单凭这点可利用的场合就远多于LVS了 2、nginx对网络稳定性的依赖非常小,理论上能pi...

2016-07-14 20:17:33 4074 0

原创 centos部署lvs+keepalived+apache/tomcat实现高性能高可用负载均衡

前言: 常用的有的负载均衡软件有lvs、haproxy、nginx 一般lvs和keeplavied一起使用 lvs是实现负载均衡作用的,即将客户端的需求采用特定的负载均衡算法分发到后端的Web应用服务器上,Keepalived是用来实现高可用的,即保证主lvs宕机后,从lvs可以在很短时间顶上,...

2016-07-14 19:10:32 5493 0

原创 php+中文分词scws+sphinx+mysql打造千万级数据全文搜索

Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 ...

2016-07-12 21:33:30 28728 3

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

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

2016-07-09 10:09:01 71757 21

原创 linux开发php c扩展实例

php取得成功的一个主要原因之一是它拥有大量的可用扩展,web开发者无论有何种需求,这种需求最有可能在php发行包里找到 php发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展 PHP扩展(PECL)跟php引擎一样都是使用c语言开发 php扩展开发需要注意什么? 1...

2016-07-08 23:24:50 2271 0

原创 centos安装mongodb3.0及php mongo扩展和代码测试

注意事项: 1、对于mongodb3.x php的mongo扩展要使用1.6以上,当时因为这个问题调试挺久,发现php的mongo扩展使用的1.4,总是连不上 2、mongodb3.x和mongodb2.x的安全认证机制不一样,mongodb3.x创建用户使用db.createUser,mongo...

2016-07-06 15:11:29 15110 2

原创 vue.js 过滤器、ajax数据、事件监听实例

app.html vuejs 过滤器、ajax数据、嵌套循环、if判断、事件监听 [v-cloak] { display: none } ajax获取数据 id 姓名 手机号 城市 ...

2017-04-28 17:10:51 2813 0

原创 vue.js v-model数据双向绑定实例

vue.js的一大功能便是实现数据的双向绑定,本文就表单处理时运用v-model指令实现双向绑定做一个介绍: v-model这个指令只能用在, ,这些表单元素上,所谓双向绑定,指的就是我们在js中的vue实例中的data与其渲染的dom元素上的内容保持一致,两者无论谁被改变,另一方也会相应的...

2017-04-28 17:09:49 4970 1

原创 vue.js 嵌套循环、if判断、动态删除

Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API app.html vuejs 嵌套循环、if判断 [v-cloak] { displa...

2017-04-28 17:03:00 15431 0

原创 go操作操作mysql(增删改查)

go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口, 常用的有如下几种:       https://github.com/Go-SQL-Driver/MySQL 支持database/sql,全部采用go写。       ...

2017-03-19 12:10:22 8170 0

转载 GoLang之协程、channel、select、同步锁

GoLang之协程   目前,WebServer几种主流的并发模型: 多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求;但在高并发环境下,多线程的开销比较大;基于回调的异步IO,如Nginx服务器使用的epoll模型,这种模式通过事件驱动的方式使用异步IO...

2017-03-18 22:57:45 6179 0

原创 go搭建一个简单web服务器

Go语言里面提供了一个完善的net/http包,通过http包可以很 方便的就搭建起来一个可以运行的web服务。同时使用这个包能很简单地对web的路由,静态文件,模版,cookie等数 据进行设置和操作。 http包建立web服务器 1、服务端 server.go package main ...

2017-03-18 20:55:32 4234 1

原创 php实现短链接系统

短链接的好处: 节省网址长度,便于社交化传播。(短信或者微博,字数长度受限制时。这样的短链接制作二维码也是易于识别。) 方便后台跟踪点击量、地域分布等用户统计。(统计流量访问,延伸可以做网址举报屏蔽。只屏蔽短链接即可,控制输出。) 规避关键词、域名屏蔽手段。 隐藏真实地址,适合做付费推广链接。 ...

2017-03-15 20:07:21 9900 1

原创 go语言Arrays、Maps、Slices操作

Arrays:数组 在go语言中数组array是一组特定长度的有序的元素集合,元素类型可以是任意的原始类型例如整形、字符串或者自定义类型,通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推 array.go package main impor...

2017-02-19 11:25:33 580 0

原创 centos下go环境搭建及hello world

Go语言是谷歌2009发布的第二款开源编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 1、下载源码包:go1.6.linux-amd64.tar.gz。 链接:http://pan.baidu.co...

2017-02-09 16:24:31 2754 0

原创 socket同步和异步、阻塞和非阻塞、I/O模型

在进行网络编程时,常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式 同步/异步主要针对C端:  同步:c端发出一个功能调用时,在没有得到结果之前,c端死等结果 例如:普通B/S模式(同步):提交请求->等待服务器处理->处理完毕...

2016-09-07 00:02:22 833 0

原创 zend framework2流程分析

入口文件在 htdocs\index.php 访问: http://www.test3.com/album http://www.test3.com/album/edit/1   配置文件在 config\autoload\global.php和local.php   控制器在 ...

2016-09-06 23:56:54 432 0

原创 Coreseek、Sphinx-for-chinaese、Sphinx+Scws区别

Sphinx是一个基于SQL的全文检索引擎;普遍使用于很多网站 Sphinx的特性如下: a)  高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); b)  高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); c)  可处理海量数据(目前已...

2016-09-06 23:32:06 466 0

原创 php结合redis高并发下发帖、发微博

发帖、发微博、点赞、评论等这些操作很频繁的动作如果并发量小,直接入库是最简单的 但是并发量一大,数据库肯定扛不住,这时可采取延迟发布:先将发布动作保存在队列里,后台进程循环获取再入库 模拟发布微博先进入redis队列 weibo_redis.php <?php //此处需要安装phpred...

2016-09-05 20:26:33 3517 2

原创 mysql千万级数据表结构修改

当需要对表进行ddl操作如加索引、增删列时,数据量小时直接在线修改表结构影响不大 当表达到百万、千万数据就不能直接在线修改表结构 下面是具体的过程: 1、备份数据 select * from ih_order into outfile '/bak/order.txt'...

2016-09-05 20:09:19 11514 0

原创 myisam和innodb 索引实现原理

b-tree,b是balance,一般用于数据库的索引。使用b-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度 myisam引擎使用b+tree作为索引结构,叶节点的data域存放的是数据记录的地址 myisam索引的原理图: innodb索引...

2016-09-05 19:47:22 3745 0

原创 redis cpu占用过高排查

redis是用"单线程-多路复用io模型"来实现高性能的内存数据服务的,这种机制避免了使用锁,但是同时这种机制在进行sunion之类的比较耗时的命令时会使redis的并发下降。因为是单一线程,所以同一时刻只有一个操作在进行,所以,耗时的命令会导致并发的下降,不只是读并发,写并发...

2016-09-05 17:50:22 18405 0

原创 redis查看连接数及php模拟并发创建redis连接

max_redis.php <?php set_time_limit (0); for($i=1;$i<=1050;$i++){ exec("nohup php /var/www/html/big/link_redis.php > /dev/null &&...

2016-09-05 17:25:46 1901 0

原创 mysql调整max_connections和max_user_connections及php模拟并发测试

php模拟创建大量mysql连接 max_mysql.php <?php for($i=1;$i<=500;$i++){ exec("nohup php /var/www/html/big/link_mysql.php > /dev/null &")...

2016-09-05 17:23:25 3890 0

原创 mysql使用explain优化sql语句

mysql 查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。最终目标是提交 select语句查找数据行,而不是排除数据行。优化器试图排除数据行的原因在于它排除数据行的速度越快,那么找到与条件匹配的数据行也就越快。如果能够首先进行最严格的测试...

2016-09-04 23:28:27 1117 0

原创 mysql服务器cpu爆满解决办法

碰到一个mysql cpu爆满的问题,简单记录下 步骤: 1、通过show processlist找到耗时最长的 mysql> show processlist; +----+------+-----------------+------+---------+----...

2016-09-04 23:19:46 7986 2

原创 redis启动提示vm.overcommit_memory、somaxconn警告错误

1、WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 2、WARNING overco...

2016-09-04 23:12:51 6873 1

原创 linux磁盘空间不足:Can't start server: can't create PID file: No space left on device

mysql服务器无法启动,查看日志发现: Can't start server: can't create PID file: No space left on device 解决: 1、重复使用du -sh * 按需求删除就可 cd / du -sh * 或者 sud...

2016-09-04 18:38:45 872 0

原创 redis设置认证密码

1、修改配置文件 vi /etc/redis.conf requirepass php001 2、重启redis服务 sudo service redis restart  3、使用密码测试 redis-cli -h 127.0.0.1 -p 6379 -a php00...

2016-09-04 18:35:10 379 0

原创 php组词算法

<?php //组词算法 function diyWords($arr,$m){ $result = array(); if ($m ==1){//只剩一个词时直接返回 return $arr; } if ($m == count($arr)){ ...

2016-08-11 23:07:44 757 1

原创 php实现先序、中序、后序遍历二叉树

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆 <?php class Node{ public $value; public $left; ...

2016-08-11 13:30:42 9263 0

转载 PHP安全编程之PHP的安全模式

PHP的safe_mode选项的目的是为了解决本小节前后所述的某些问题。但是,在PHP层面上去解决这类问题从架构上来看是不正确的,正如PHP手册所述(http://php.net/features.safe-mode)。 当安全模式生效时,PHP会对正在执行的脚本所读取(或所操作)文件的属主...

2016-08-11 13:22:36 1057 0

转载 PHP安全编程之主机文件目录浏览

除了能在共享服务器上读取任意文件之外,攻击者还能建立一个可以浏览文件系统的脚本。由于你的大多数敏感文件不会保存在网站主目录下,此类脚本一般用于找到你的源文件的所在位置。请看下例:    if (isset($_GET['dir']))   {     ls($_GET[�...

2016-08-11 13:19:00 334 0

转载 PHP安全编程之共享主机的源码安全

你的WEB服务器必须要能够读取你的源确并执行它,这就意味着任意人所写的代码被服务器运行时,它同样可以读取你的源码。在一个共享主机上,最大的风险是由于WEB服务器是共享的,因此其它开发者所写的PHP代码可以读取任意文件。 <?php header('Content-Typ...

2016-08-11 13:18:04 432 0

转载 PHP安全编程之会话数据注入

一个与会话暴露类似的问题是会话注入。此类攻击是基于你的WEB服务器除了对会话存储目录有读取权限外,还有写入权限。因此,存在着编写一段允许其他用户添加,编辑或删除会话的脚本的可能。下例显示了一个允许用户方便地编辑已存在的会话数据的HTML表单:    session_start();  ...

2016-08-11 13:16:25 327 0

原创 apache、php开启gzip压缩加速

使用gzip加速网页显示有两种方式 第一种:修改web服务器方式,如apache 修改apache配置文件: vi /etc/httpd/conf/httpd.conf,去掉下面两行注释 LoadModule deflate_module modules/mod_deflate.so Load...

2016-08-11 13:11:32 483 0

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