自定义博客皮肤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、数据库、运维--如果你是房间里最聪明的人,那么你走错房间了

  • 博客(421)
  • 资源 (11)
  • 收藏
  • 关注

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

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

2016-08-07 16:25:16 19595 2

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

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

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

原创 memcache一致性hash算法实战

关于memcache一致性hash算法原理:http://blog.csdn.net/nuli888/article/details/52128999使用memcache集群时,客户端"一致性hash算法"设置:第一种:使用memcahe扩展时如果想应用一致性Hash算法修改php.ini添加:[Memcache] Memcache.allow_failov

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

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

实验环境:linux:centos6.6虚拟ip(vip):192.168.135.199mysql master:192.168.20.193mysql slave:192.168.20.195(这里只是为了后文方便区分,一个叫master,一个叫slave,其实在主主复制中,都是master也都是slave,没有主从之分)mysql的版本:[root@localho

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

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

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

2016-07-14 20:17:33 4835

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

前言:常用的有的负载均衡软件有lvs、haproxy、nginx一般lvs和keeplavied一起使用lvs是实现负载均衡作用的,即将客户端的需求采用特定的负载均衡算法分发到后端的Web应用服务器上,Keepalived是用来实现高可用的,即保证主lvs宕机后,从lvs可以在很短时间顶上,从而保证了系统或网站的稳定性注意事项1、虚拟ip不需物理机,设置ip前先本机pi

2016-07-14 19:10:32 8322

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

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

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

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

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

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

原创 linux开发php c扩展实例

php取得成功的一个主要原因之一是它拥有大量的可用扩展,web开发者无论有何种需求,这种需求最有可能在php发行包里找到php发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展PHP扩展(PECL)跟php引擎一样都是使用c语言开发php扩展开发需要注意什么?1、开发扩展比使用PHP开发相同功能成本与难度都要更高2、后期维护不易3、系统及PH

2016-07-08 23:24:50 2501

原创 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,mongodb2.x使用db.addUser3、mongodb的客户端管理工具NoSQL Manager、rockmongo

2016-07-06 15:11:29 15346 3

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

app.html vuejs 过滤器、ajax数据、嵌套循环、if判断、事件监听 [v-cloak] { display: none } ajax获取数据 id 姓名 手机号 城市 性别 通过审核 我的学生 操作

2017-04-28 17:10:51 3352

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

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

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

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

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

2017-04-28 17:03:00 17699

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

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

2017-03-19 12:10:22 10668

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

GoLang之协程 目前,WebServer几种主流的并发模型:多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求;但在高并发环境下,多线程的开销比较大;基于回调的异步IO,如Nginx服务器使用的epoll模型,这种模式通过事件驱动的方式使用异步IO,使服务器持续运转,但人的思维模式是串行的,大量回调函数会把流程分割,对于问题本身的反应不够自然;协程

2017-03-18 22:57:45 9121

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

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

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

原创 php实现短链接系统

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

2017-03-15 20:07:21 14450 3

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

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

2017-02-19 11:25:33 787

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

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

2017-02-09 16:24:31 3046

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

在进行网络编程时,常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式同步/异步主要针对C端: 同步:c端发出一个功能调用时,在没有得到结果之前,c端死等结果例如:普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步:c端一个异步过程调用发出后,调用者不会立刻得到结

2016-09-07 00:02:22 1145

原创 zend framework2流程分析

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

2016-09-06 23:56:54 612

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

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

2016-09-06 23:32:06 776

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

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

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

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

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

2016-09-05 20:09:19 15439

原创 myisam和innodb 索引实现原理

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

2016-09-05 19:47:22 4987

原创 redis cpu占用过高排查

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

2016-09-05 17:50:22 23908

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

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

2016-09-05 17:25:46 4363

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

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

2016-09-05 17:23:25 4537

原创 mysql使用explain优化sql语句

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

2016-09-04 23:28:27 1868

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

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

2016-09-04 23:19:46 14124 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 overcommit_memory is set to 0! Background save may fail u

2016-09-04 23:12:51 9663 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 *或者 sudo find / -size +204800 #这样可以查找出大于200M的文件,按实际情况删除即可

2016-09-04 18:38:45 1192

原创 redis设置认证密码

1、修改配置文件vi /etc/redis.confrequirepass php0012、重启redis服务sudo service redis restart 3、使用密码测试redis-cli -h 127.0.0.1 -p 6379 -a php001  redis 127.0.0.1:6379> keys *  1) "myset"  

2016-09-04 18:35:10 487

原创 php组词算法

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

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

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

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆<?phpclass Node{ public $value; public $left; public $right;}//先序遍历 根节点 ---> 左子树 ---> 右子树function

2016-08-11 13:30:42 11852

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

PHP的safe_mode选项的目的是为了解决本小节前后所述的某些问题。但是,在PHP层面上去解决这类问题从架构上来看是不正确的,正如PHP手册所述(http://php.net/features.safe-mode)。当安全模式生效时,PHP会对正在执行的脚本所读取(或所操作)文件的属主进行检查,以保证与该脚本的属主是相同的。虽然这样确实可以防范本章中的很多例子,但它不会影响其它语言编写

2016-08-11 13:22:36 3494

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

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

2016-08-11 13:19:00 478

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

你的WEB服务器必须要能够读取你的源确并执行它,这就意味着任意人所写的代码被服务器运行时,它同样可以读取你的源码。在一个共享主机上,最大的风险是由于WEB服务器是共享的,因此其它开发者所写的PHP代码可以读取任意文件。<?php header('Content-Type: text/plain'); readfile($_GET['file']); ?> 通过在你

2016-08-11 13:18:04 608

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

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

2016-08-11 13:16:25 458

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

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

2016-08-11 13:11:32 764

axure省市联动效果

axure省市联动效果,完整axure实例,具体教程参考:http://blog.csdn.net/nuli888/article/details/51830935

2016-09-22

plupload-2.1.2 html5 flash可自定义

plupload-2.1.2 html5 flash可自定义 十分强大 服务端语言可选php、java、c#

2015-04-20

图片压缩工具

图片压缩工具 可批量对png jpg gif 进行自定义压缩 很好用

2015-04-20

PHPMailer完整实例包 亲测可用

PHPMailer完整实例包 亲测可用 支持qq 16等邮箱

2015-04-20

支持mongodb和pdo的thinkphp3.2.3完整包下载

支持mongodb和pdo的thinkphp3.2.3完整包下载,网上很多都是不完整的

2015-04-20

一个基于html5 css3的ajax异异步上传插件 好用

本示例采用ajax技术实现了文件的上传下载功能,并且还可以有好提示用户上传下载文件的进度,上传速度,文件大小等情况,确实为不可多得的示例。

2012-09-08

plupload_1_5_4上传插件 基于jquery 有demo

本示例采用ajax技术实现了文件的上传下载功能,并且还可以有好提示用户上传下载文件的进度,上传速度,文件大小等情况,确实为不可多得的示例。

2012-09-08

一个基于jquery的ajax异步上传插件 好用

本示例采用ajax技术实现了文件的上传下载功能,并且还可以有好提示用户上传下载文件的进度,上传速度,文件大小等情况,确实为不可多得的示例。

2012-09-08

avatar头像截取

仿照ucenter截取头像 保存 大中小三份

2012-09-08

ajaxfileupload1.0好用

本示例采用ajax技术实现了文件的上传下载功能,并且还可以有好提示用户上传下载文件的进度,上传速度,文件大小等情况,确实为不可多得的示例。

2012-09-08

SWFUpload v2.2.0.1 源码示例经典 详细注释

SWFUpload v2.2.0.1 源码示例经典 详细注释

2012-09-08

空空如也

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

TA关注的人

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