自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 redis 队列简单实现高并发抢购/秒杀

https://blog.csdn.net/Gekkoou/article/details/88714674

2019-06-27 17:20:34 1065 0

转载 数据结构之------什么是哈希表?(哈希表是一个以空间换取时间的数据结构!!! 加快查找速度!!!)

结合http://www.cnblogs.com/feichengwulai/articles/3523905.html这篇文章一起记忆!!! @哈希表的实际应用 1,Sql中的索引,就是通过哈希表实现的。加大了数据存储空间,但查询速度快了很多!!! ---具体可以查哈希表的应用!!! ...

2019-06-21 17:10:57 459 0

转载 从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续(面试题)

从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续的2-10位数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字 统计数组中出现的次数,判断等于0,大于1大于2大于13返回,去重,排序,剩余个数m + 0次数n -1>=最大值减去最小值 分析该题: ...

2019-06-21 11:53:11 595 0

原创 MySQL的innodb引擎是如何实现MVCC的

索引的数据结构有B+treee索引和hash索引:B+treee索引是innodb引擎默认使用的数据结构,它通过一定的算法,将mysql表中数据分磁盘存放,少量的磁盘读取即可做到大量数据的遍历;Hash索引根据hash算法将数据,精确的存放,来查找某个数据的时候,根据相同的算法一次就能找到,等值查...

2018-08-22 14:12:16 147 0

转载 分布式事务有两种解决方式

1.优先使用异步消息。上文已经说过,使用异步消息 Consumer 端需要实现幂等。幂等有两种方式,一种方式是业务逻辑保证幂等。比如接到支付成功的消息订单状态变成支付完成,如果当前状态是支付完成,则再收到一个支付成功的消息则说明消息重复了,直接作为消息成功处理。另外一种方式如果业务逻辑无法保证幂等...

2018-06-07 16:18:26 676 0

转载 深入解析Mysql 主从同步延迟原理及解决方案

MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。相信大家对于这些好处已经非常了解了,在项目的部署中也采用这种方案。但是MySQL的...

2018-06-04 10:33:54 139 0

转载 Redis 的操作为什么是的原子性的详解

原子性 原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。 对于Redis而言,命令的原子性指的是:一个操作的不可以再分,操作要么执行,要么不执行。 Redis操作原子性的原...

2018-05-31 10:35:05 32990 3

转载 悲观锁、乐观锁的区别及使用场景

定义:悲观锁(Pessimistic Lock): 每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。乐观锁(Optimistic Lock):...

2018-05-31 09:52:03 8834 1

原创 php网站 高并发时候如何优化?

利器1.多线程处理利用线程池设计,同时处理多个请求。线程池中线程个数=CPU个数+1;//对计算密集型的情况适用如果程序的逻辑处理需要对 DB,IO,redis 有操作。会增加CPU的占用率。高并发解决方案案例:当QPS达到2000时优化方案: 做业务分离,分布式存储1.流量优化  防盗链处理(去...

2018-04-20 17:55:44 510 0

原创 百万级别网站架构思路

1.运维服务器方面:2台web机器,机器配置是4核,16G的配置,主从,3台mysql,主从加备份数据库,resdis一台机器2.可以处理1秒钟1000次请求,如果预估是1秒钟4000次请求的话,则需要4台web机器,top命令查询load average如果cpu快达到4了就需要加机器了3.前端...

2018-04-08 17:44:29 2043 4

原创 Laravel框架特性分析

1.拥有一个简单的核心Container类,对于很多的php框架拥有的功能如路由请求拦截,视图渲染,权限控制,缓存等都是集成在框架内部实现的,但是laravel框架是独立实现的,这些功能可以理解为服务,通过provider(提供器),注册到核心容器container去实现的.Application...

2018-03-16 16:15:35 740 0

转载 数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)

一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。√: 可能出现    ×: 不会出现脏读不...

2018-02-09 10:19:23 139 0

转载 MySQL中MyISAM与InnoDB区别及选择

2018-02-08 10:39:13 568 0

转载 MySQL分区与分片的差异

要了解分区与分片之间的差异,首先我们需要知道什么是分片与分区。 分片:分片Sharding 不是一门新技术,而是一个相对简朴的软件理念。众所周知,MySQL 5 之后才有了数据表分区功能,那么在此之前,很多 mysql 的潜在用户都对 MySQL 的扩展性有所顾虑,而是否具备分区功能就成...

2018-01-23 19:55:51 5498 0

转载 php 内核执行

网站访问量185万的pv ,6万多的uv 回息日        平时的是160万,2万多的uv 当用户代码输入给PHP内核去执行的时候, PHP内核会对PHP代码进行词法分析和语法分析, 词法分析是把PHP代码分割成一个个的“单元”(TOKEN), 语法分析则将这些“单元”转化为Zend E...

2018-01-16 17:53:37 125 0

转载 Redis持久化存储(AOF与RDB两种模式)

Redis中数据存储模式有2种:cache-only,persistence; cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式;persistence即为内存中的数据持久备份到磁盘...

2018-01-15 19:16:40 148 0

转载 XSS CSRF SQL 注入解决方法

安全方面: xss :跨站脚本攻击 csrf : 跨站请求伪造 Ddos:用很多机器对网址进行请求,把服务器某方面搞挂。 sql注入: 通过关键字或者非法字符的注入,实现一些对数据库一些非正常的操作 最简单的demo : 在用户登陆的时候,用户名和密码的判断,密码后加上 or 1=1 ...

2017-12-28 16:31:51 343 0

原创 系统性能定位和优化方法

一般先排除是不是网络的原因,假如打开百度网页快的话,就是内部系统的问题, 先使用top查看cpu利用率和磁盘,假如CPU高的话就是大量的SQL计算,数据库瓶颈高,慢查询导致。 Throughput ,吞吐量。也就是每秒钟可以处理的请求数,任务数。Latency, 系统延迟。也就...

2017-12-21 19:27:55 200 0

转载 PHP高级面试题

1.写出一个能创建多级目录的PHP函数       function createdir($path,$mode){              if (is_dir($path)){  //判断目录存在否,存在不创建                       echo "目录...

2017-11-22 11:29:09 235 0

原创 mysql into outline 导出数据到文件 --where

//导出投资数据 select *  from activity  where activity_id=62 INTO OUTFILE '/tmp/fifty_2017'  //导出18服务器少量数据的sql  mysqldump  -uroot -p12...

2017-05-31 09:56:37 545 0

原创 微信授权登录获取用户信息的步骤

1、引导用户进入授权页面同意授权,获取code 2、通过code换取网页授权access_token(与基础支持中的access_token不同) 3、如果需要,开发者可以刷新网页授权access_token,避免过期 4、通过网页授权access_token和openid获取用户基本信息(支持U...

2017-05-03 16:11:30 3403 0

转载 MySQL通过binlog来恢复数据

一、什么是binlog 1、binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中; 二进制日志的信息: 文件位置:默认存放位置为数据库文件所在目录下 文件的命名方式: 名称为hostname-bin.xx...

2017-04-19 14:46:26 231 0

原创 PHP文件的执行和PHP 的 autoload 机制的实现

PHP文件的执行分为两个独立的过程,第一步是将PHP文件编译成普通称之为OPCODE的字节码序列(实际上是编译成一个叫做zend_op_array的字节数组),第二步是由一个虚拟机来执行这些OPCODE。PHP的所有行为都是由这些OPCODE来实现的 PHP5为这个问题提供了一个解决方案...

2017-02-07 16:11:03 201 0

原创 互联网分层架构

ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台, Mysql分布式中间件:Cobar,oneproxy, ElasticSearch类似sphninx,solr docker是一个容器,类似管理进程的一个容器 中间件在数据库层上和应用层之下

2017-01-12 14:13:11 433 0

原创 mysql主从同步原理

//主从同步 实际上,你读的主库和从库都可以,但是写的肯定是进入到主库里,然后从库在读binlog,从库同步 binlog文件是以二进制形式保存的 主库执行 SQL 写Binglog 同步到从库执行 什么叫同步,就是insert 或者update或者delete 都会操作主库,每执...

2017-01-04 14:52:16 653 2

转载 mysql 性能优化方案 (转)

网 上有不少MySQL 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql...

2016-11-16 17:31:56 220 0

原创 PHP中数组合并的两种方法及区别介绍

PHP数组合并两种方法及区别  如果是关联数组,如下:  复制代码代码如下: $a = array(  'where' => 'uid=1',  'order' => 'uid',  ...

2016-11-03 14:41:21 192 0

转载 php实现多线程的方式

php多线程 呵呵哒, 项目情况: 要同步300W+的用户数据到qcloud,只能每次一个curl同步,大概每秒同步3个,算下来同步完300W数据估计要10天+,所以想到用多线程解决。 方案1: 用c++写多进程方案,fork多个进程出来解决。主线程负责读取/存储数据,子线程负责...

2016-10-11 09:49:13 601 0

原创 PHP生成唯一订单号的方法汇总

echo date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); 订单号常见的几种方式:1.利用数据库主键值产生一个自增长的订单号(订单号即数据表的主键)2.日期+自增长数字的订单号(比...

2016-01-22 11:24:56 5716 0

转载 HTTP对外接口,如何增加签名机制

接口开发是各系统之间对接的重要方式,其数据是通过开放的互联网传输,对数据的安全性要有一定要求。为了提高传输过程参数的防篡改性,签名sign的方式是目前比较常用的方式。 我这里介绍一种方式,是目前国内互联网公司常用的一种方式,其中淘宝的支付宝支付接口、淘宝开放平台接口、腾讯开放平台等应用的一种方式...

2016-01-22 09:28:51 5976 1

转载 MySQL查询某个字段属性值重复出现的次数

在某些时候,我们需要在MySQL中查询某个字段属性值重复的次数:   select category , count(*) AS count from publication_has_category      group by category order by count DESC     ...

2016-01-21 09:23:17 12312 0

转载 Linux命令经典面试题:统计文件中出现次数最多的前10个单词

使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。 cat words.txt | sort | uniq -c | sort -k1,1nr | head -10   主要考察对sort、u...

2016-01-19 15:13:04 3721 0

原创 PHP实现乘法表

for($i = 1;$i 9; $i++){ for($j = 1;$j $i; $j++){ echo $j."*".$i."=".$j*$i; } echo ""; }

2016-01-18 10:24:19 739 0

转载 探究PHP底层

探究PHP底层 1、PHP是什么? PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分: 1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行; 2、 功...

2016-01-18 10:05:12 339 0

转载 缓存穿透、缓存并发、缓存失效

一、缓存穿透 我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。 这个问题其实...

2016-01-14 21:44:24 220 0

原创 php 、cgi 、fastcgi 、php-fpm之间的运行原理和机制分享二

FASTCGI:WEB服务器与处理程序之间通信的一种协议,是CGI的改进方案。  FASTCGI是常驻型的CGI,它可以一直运行,在请求到达时,不会花费时间去fork一个进程来处理。 Fastcgi的特点是会在一个进程中依次完成多个请求,以达到提高效率的目的,大多数Fastcgi实现都会维护一...

2016-01-12 16:36:50 1760 0

原创 php __autoad __toString __call 详解

__construct() :实例化对象时被调用; __destuct():当删除一个对象或者对象操作终止是被执行; __call():调用对象不存在方法时被调用; __get():调用对象不存在的属性时被调用; __set():设置对象不存在的属性时被调用;_ _toString():...

2016-01-11 21:06:25 380 0

原创 php二分查找算法

function binarySearch($arr,$target){ $low = 0;       $high = count($arr)-1;       while($low           $mid = intval(($low+$high)/2); ...

2016-01-11 17:08:20 379 0

转载 php冒泡排序算法和快速排序算法

许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的,它是程序开发的必备工具。这里介绍冒泡排序,插入排序,选择排序,快速排序四种基本算法,分析一下算法的思路。 前提:分别用冒泡排序法,快速排序法,选择排...

2016-01-11 16:50:11 309 0

原创 Mysql常见水平分表方案

根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉;水平分表能够很大程度较少这些压力。 1.按时间分表 这种分表方式有一定的局限性,当数据有较强的实效性,如微博发送记录、微信消息记录等,这种数据很少有用户会查询几个月前的数据,如就可以按...

2016-01-11 10:38:32 585 1

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