自定义博客皮肤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是世界上最好的语言,过了这村没这店了

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql 主从配置详解3 主从配置不一致问题

主从读写与维护有三个待解决问题: 1. 校验主从数据一致性问题 2. 数据校验恢复 3. 主从延迟问题1. 校验主从数据一致性问题在理想情况下,备库和主库的数据应该是完全一样的。但事实上备库可能发生错误并导致数据不一致。即使没有明显的错误,备库同样可能因为MySQL自身的特 性导致数据不一致,例如MySQL的Bug感、网络中断、服务器崩溃,非正常关闭或者其...

2019-12-02 10:58:12 903 1

原创 mysql 主从配置详解2(主库有数据 从库热备份和冷备份)

1、从库复制的时候还有其他几个重要的参数配置参数 作用 实例 replicate-do-table 指定需要复制的表 replicate-do-table=test.rep_t1 replicate-ignore-table 指定不复制的表 replicate-ignore-table=test.rep_t1 replicate-do-db ...

2019-11-27 16:58:05 913 1

原创 mysql 主从配置详解

关于主从配置的好处和坏处我这里就不详细解说了,自己百度下就一大堆,我这就直入主题了MySQL数据库复制操作大致可以分成三个步骤:主服务器将数据的改变记录到二进制日志(binary log)中。 从服务器将主服务器的binary log events 复制到它的中继日志(relay log)中。 从服务器重做中继日志中的事件,将数据的改变与从服务器保持同步首先,主服务器会记录二进制日志...

2019-11-26 16:35:53 396 1

原创 php redis实现连接池

什么是连接池?redis连接静态类。redis连接池 减少redis的重复连接,降低内存消耗!通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接,一般情况下, 这是没问题的, 但当并发量比较高的时候, 频繁的连接创建和释放对性能会有较高的影响于是, 连接池就发挥作用了连接池的原理是, 通过预先创建多个连接, 当进行

2018-01-31 16:43:17 6531 1

原创 mysql备份、基于时间或位置恢复

查看所有日志,在mysql中:purge master logs to 'localhost-bin.000006'; 删除日志PURGE MASTER LOGS BEFORE 'yyyy-mm-dd hh24:mi:ss'  将删除什么日期之前的所有日志expire_logs_day=3    这个是在配置文件中标注 日志过期多少天将自动删除flush logs 

2018-01-24 14:40:10 1122

原创 主从遇到的各种问题的详细解决方法

主从同步维护由于特殊情况,主服务器更新频繁,从服务器由于各种原因,导致更新特别慢,这种情况,我们需要定期进行主从的数据同步维护,具体方法如下,在负载较低的时候暂时阻塞主数据库更新,强制主从数据库的更新同步操作1、在master上执行以下语句:mysql> FLUSH TABLES WITH READ LOCK; Query OK, 0 rows affected (0.01 sec)

2018-01-04 16:20:49 1124

原创 关闭windows某个端口

一下是某个端口冲突的解决办法:打开cmd,以管理员身份运行,输入netstat -ano #这是找到所有的的端口taskkill -pid 10480 /f #这个10480就是80端口的pid 还有种情况就是电脑wifi关闭情况的解决办法:打开cmd,管理员运行:netsh winsock rese

2018-01-04 14:27:07 381

原创 升级到php7(详解)

一下方法经本人实践,真实有效1、更换yum源cd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.bakwget http://mirrors.163.com/.help/CentOS6-Base-163.repomv CentOS6-Base-163.repo CentOS-Base.repoyum clean all

2018-01-04 14:18:41 1573

原创 centos7 开放3306端口并可以远程访问

开启远程访问:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 允许任何ip以root用户登录flush privileges;立即生效CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。1、关闭firew

2018-01-04 12:02:06 7110 1

原创 安装mysql 配置主从(详解)

由于最近工作需要,配置个主从1、查看系统有没有mysql数据库rpm -aq | grep -i mysql rpm -e MySQL-server-5.6.27-1.el6.x86_64 #删除yum remove mysql mysql-server mysql-libs compat-mysql51 #yum删除mysql whereis mysql #查看

2018-01-04 11:26:24 345

原创 mysql 基本操作 触发器、锁、事物、分布式事物、sql安全问题、sql mode详解 (第五章)

触发器是什么:触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。创建触发器的语法:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 注意:触发器只能创建

2017-12-13 14:29:55 3440

原创 mysql 基本操作 存储过程和函数详解 (第四章)

存储过程和函数1.    什么是存储过程和函数存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合,提高开发效率,减少数据传输,存储过程: 返回值 没有  参数类型:INOUT INOUT函数:     返回值 有 参数类型:IN2.    操作权限创建需要CREATE ROUTINE权限修改或删除需要 ALTER ROUTINE权限执行需要 EX

2017-12-11 20:33:08 334

原创 mysql 基本操作 选择合适的引擎 选择索引、视图语法(第三章)

如何选择合适的存储引擎:MyISAM:默认的 MySQL 插件式存储引擎。如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不是很高,那么选择这个存储引擎是非常适合的。MyISAM 是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。InnoDB:用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据

2017-12-11 09:59:43 370

原创 mysql 基本操作 数据类型、常用函数、存储引擎特点 (第二章)

Mysql数据类型:数值类型整型数据,MySQL 还支持在类型名称后面的小括号内指定显示宽度,例如 int(5)表示当数值宽度小于 5 位的时候在数字前面填满宽度,如果不显示指定宽度则默认为 int(11)。一般配合 zerofill 使用,顾名思义,zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满整数类型还有一个属性:AUTO_INCREMENT。在需

2017-12-06 19:00:11 208

原创 mysql 数据库 基本操作(第一章)

由于职业发展,需要精通mysql,接下来,我向大家介绍下如何从不懂mysql到精通mysql———序言安装mysql 我就不说了,大家可以上网查下。mysql  分为:DDL:数据定义,意思就是定义不同的数据段、数据库、表、列、索引等,关键词是 create、drop、alterDML:数据操作,意思就是用户对表里面的数据进行增删改查的操作,关键词是 select、up

2017-11-26 18:46:06 316

原创 导入excel

<?php include("conn.php"); //链接数据库 require_once 'PHPExcel/Classes/PHPExcel.php'; require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php'; require_once 'PHPExcel/Classes/PHPExcel/Reader

2017-05-09 10:22:34 326

原创 异步IO

在网络编程中,阻塞、非阻塞、同步、异步经常被提到!2、数据流向  网络IO操作实际过程涉及到内核和调用这个IO操作的进程。以read为例,read的具体操作分为以下两个部分:  (1)内核等待数据可读  (2)将内核读到的数据拷贝到进程详细过程如下图所示:3、网络IO模型详细分析  常见的IO模型有阻塞、非阻塞、IO多路复用,异步。以一个生动形象的例子来

2017-05-09 10:13:22 340

原创 淘宝下单的高并发解决方案

在session中牧劳为我们介绍了淘宝下单部分的技术方案变迁,我不介绍变迁,而只对现有系统做介绍。要优化下单,提高下单的TPS(Transaction per second),我们首先要做的是对下单的逻辑剥离,只保留核心部分,而把附加功能剔除出去。比如说下单要考虑库存量,考虑发短信,要给卖家发旺旺消息通知,要对订单做统计,要做销售额统计等等,这些功能是必要的,但是也是附加的功能,要最大程度

2017-05-09 10:10:21 1293

原创 高并发联机事物处理

何谓高并发?不同的应用系统具有不同的数字指标,但往往和应用系统的物理承载能力有关。另外,同应用系统的业务复杂度也存在很大的关联关系。比如笔者所参与过的省级税收征管“大集中”系统,系统的实际并发数往往要超过100,峰值时刻可能会达到200。这个数值相比较于电信计费系统的并发数而言,在数值上可能比较小,但如果同时参考税收征管业务的复杂性,就会体会到服务器要承载的计算负荷是非常巨大的了。除并发数指标

2017-05-09 10:09:08 1071

原创 电商网站秒杀活动

秒杀活动通常是这样定义:活动方在有限的时间段内(通常是M分钟到H小时不等的时间)给出指定数量O个P商品的大减价抢购名额。这类秒杀活动一般都会出现如下情况↓↓ 第一、在某一时间内QPS超过系统负载;第二、架构不合理导致系统的其它与秒杀活动不相关的模块变得异常缓慢;第三、少数用户重复抢到名额;第四、最终抢到的名额数量超过库存数量;第五、服务器宕机后恢复迟缓导致大量用户流入竞

2017-05-09 10:08:08 1468

原创 RSA非对称加解密

RSA加密算法的数字证书操作最早以前的加密算法是对称加密(1)甲方选择某一种加密规则,对信息进行加密;(2)乙方使用同一种规则,对信息进行解密。最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。保存和传递密钥,就成了最头疼的问题。非对称加密算法(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。  (2)甲方获取乙方的公钥,然后用它对

2017-05-09 10:05:40 435

原创 DDoS攻击

什么是DDoS?DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",DDoS的中文名叫分布式拒绝服务攻击,俗称洪水攻击。首先,我们来了解一下相关定义。²服务:系统提供的,用户在对其使用中会受益的功能²拒绝服务:任何对服务的干涉如果使其可用性降低或者失去可用性均称为拒绝服务。²拒绝服务攻击:是指攻击者通过某种手段,有意地造成计算机或网络

2017-05-09 09:59:08 554

原创 如何搭建一个 HTTPS 服务端

关于 HTTPS 的基本原理大家都已经不再陌生,今天和大家说说如何搭建一个支持 HTTPS 的服务端。服务端的 HTTPSHTTPS 已经几乎成为了当前互联网推荐的通信方式,它能最大化保证信息传输的安全,从去年苹果的强制 HTTPS ,到如今各大网站都支持了 HTTPS。它会越来越普及。之前写过几篇关于 HTTPS 原理的文章,有用户留言希望了解一些如何在服务端搭建 HTT

2017-04-17 11:25:42 2568

原创 程序猿必读-防范CSRF跨站请求伪造

CSRF(Cross-site request forgery,中文为跨站请求伪造)是一种利用网站可信用户的权限去执行未授权的命令的一种恶意攻击。通过伪装可信用户的请求来利用信任该用户的网站,这种攻击方式虽然不是很流行,但是却难以防范,其危害也不比其他安全漏洞小。本文将简要介绍CSRF产生的原因以及利用方式,然后对如何避免这种攻击方式提供一些可供参考的方案,希望广大程序猿们都能够对这种攻击

2017-04-17 11:12:16 1265

转载 Nginx简单实现反向代理和负载均衡

Nginx安装好之后,开始使用它来简单实现反向代理与负载均衡的功能。在这之前,首先得脑补一下什么是反向代理和负载均衡。  反向代理:是指以代理服务器来接收Internet上的请求,然后将请求转发到内部网络的服务器上,并将结果返回给Internet上连接的客户端,此时的代理服务器对外就表现为反向代理服务器。   通俗来讲,反向代理服务器就好比我们常说的中介,Internet客户端可以看作是租

2017-04-17 11:04:43 362

转载 Redis 和 I/O 多路复用

最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读

2017-04-17 10:58:21 466

转载 堆/栈/动态存储方式/静态存储方式

动态存储方式所谓动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、 释放形参变量的存储单元。静态存储方式所谓静态存储方式是

2017-04-17 10:55:06 669

转载 从输入网址到显示网页的全过程分析

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1. 首先嘛,你得在浏览器里输入要网址:-------------------------------------------------

2017-04-17 10:50:05 779

原创 PHP实现定时器任务(Timer)

本文讲解PHP实现定时器任务(Timer)定时器任务,在WEB应用比较常见,如何使用PHP实现定时器任务,大致有两种方案:1)使用Crontab命令,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2)配合使用ignore_user_abort()和set_time_limit(),使脚本脱离浏览器运行。前者是利用Linux的特性,和PHP本身没有多大关系,后者使用场景有

2016-11-29 19:46:03 8673

原创 Php中设置Session超时时间登录时间限制

最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟(www.phpfensi.com)后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考.第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值,代码如下:i

2016-11-29 19:40:32 8282

原创 利用cookie实现用户自动登录的代码

cookie 是由服务器发送到浏览器的变量,cookie 通常是服务器嵌入到用户计算机中的小文本文件,每当计算机通过浏览器请求一个页面,就会发送这个 cookie,实例代码如下:<?php echo( "Cookie created? : " . setcookie("cookie_name", "cookie_data" ) ); ?> Cookie

2016-11-29 19:38:09 4119

原创 php分页可利用表格来分页类

<?php /* * 直接输出数据表和分页信息 * 在新建对象时需要的变量:$query(从数据表中获取记录数的sql语句),$page(当前页码),$maxline(每页几行)) * 1、showpage方法:如果上面创建对象的$query正确,直接调用,即可输出分页信息 * 2、showtable方法:需要的变量:$query(从数据库读取记录的SQL语句,不要加Limit,

2016-11-29 19:27:33 548

原创 php银联网页支付实现方法

本文实例讲述了php银联网页支付实现方法。分享给大家供大家参考。具体分析如下:这里介绍的银联WAP支付功能,仅限消费功能。1. PHP代码如下:<?phpnamespace common\services;class UnionPay{ /** * 支付配置 * @var array */ public $config = [];

2016-11-29 19:13:45 4337

原创 php调用支付宝PHP接口API实现在线即时支付功能

这次在项目中要实现订单功能,所以要完成在线支付,在线支付一般有网银支付和第三方支付(支付宝、paypal等)这两种途径,未简单起见,先完成支付宝在线支付功能,由于项目基于Yii框架,且使用UTF-8编码,所以显然要用支付宝接口中的PHP UTF-8相关API来实现。在正式测试之前,先准备好几个字段:支付宝帐号,与该支付宝帐号绑定的合作身份者id以及安全校验码key。测试之前要先到 

2016-11-29 19:10:41 6477

原创 PHP支付系统的设计与实现典型案例

由于自己项目需要,花两周时间实现了一个小型的支付系统,麻雀虽小五脏俱全,各种必须的模块如账户加锁,事务性保证,流水对帐等都是有完整实现的,整个开发过程中有很多经验积累,再加上在网上搜索了一下,大部分都是些研究性的论文,对实际使用价值不大,所以这次特意拿出来和大家分享一下。这个系统可以用作小型支付系统,也可以用做第三方应用接入开放平台时的支付流水系统。原来的需求比较负责,我简化一点说

2016-11-29 19:07:41 4216

原创 元素设置overflow-y:scroll如何判断元素内滚动到最底层

元素设置overflow-y:scroll如何判断元素内滚动到最底层今天在项目中遇到一个这样的问题,一个元素高度设置死:800px;超不部分滚动,里面的子元素是未知ajax加载的,如何判断是不是滚动到最底层呢?如下图:用jquery $(box).height(); //获取元素高度$(box).scrollTop();//获得元素的滚动条高度给元素

2016-11-29 18:54:23 7218

原创 window.open打开新窗口详解

今天给大家带来js一个方法,window.open打开新窗口详解定义和用法open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。语法window.open(URL,name,specs,replace)参数说明URL 可选。打开指定的页面的URL。如果没有指定URL,打开与新的空白窗口name 可选。指定targ

2016-11-29 18:50:41 5594

原创 Jquery日历插件制作

在页面开发中,经常遇到需要用户输入日期的操作。通常的做法是,提供一个文本框(text),让用户输入,然后,编写代码验证输入的数据,检测其是否是日期类型。这样比较麻烦,同时,用户输入日期的操作也不是很方便,影响用户体验。如果使用jQuery UI中的datepicker(日历)插件,这些问题都可以迎刃而解。该插件调用的语法格式如下:  $(“.selector”).datepicker(

2016-11-29 18:43:05 629

原创 PHP读取csv文件的内容详解

一次性读取csv文件内所有行的数据<?php $file = fopen('windows_2011_s.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可$goods_list[] = $data; }//print_r($

2016-11-29 17:14:05 13071 1

原创 PHP+mysql+ajax轻量级聊天室

做了一个QQ聊天交友网站,想加个聊天的功能,于是做完用PHP做了简单又强大的聊天室1. 创建mysql数据库表:create table chat( id bigint AUTO_INCREMENT,username varchar(20), chatdate datetime,msg varchar(500), primary key(id));2.编写建议连接数据库函数:

2016-11-29 17:08:05 1494

空空如也

空空如也

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

TA关注的人

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