自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

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

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

2018-04-20 17:55:44 895

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

1.运维服务器方面:2台web机器,机器配置是4核,16G的配置,主从,3台mysql,主从加备份数据库,resdis一台机器2.可以处理1秒钟1000次请求,如果预估是1秒钟4000次请求的话,则需要4台web机器,top命令查询load average如果cpu快达到4了就需要加机器了3.前端使用cdn加速,JS、CSS打包压缩,使用分布式缓存,读取数据从缓存读取4.并发量高的话使用队列异步处...

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

转载 php外观模式

意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。 何时使用: 1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个”接待员”即可。 2、定义系统的入口。 如何解决:客户端不与系统耦合,外观类与系统耦合。 关键代码:在客户端和复杂系统之间再加一层,这一层将调...

2018-04-28 10:58:44 269

原创 电商系统架构图分解

将系统分成应用层,服务层,数据层,各个应用有自己的子系统,服务层提供的是公共的服务,数据层是底层数据相关的存储。

2018-04-27 16:59:42 8209

原创 redis 在linux下安装步骤

$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz$ tar xzf redis-4.0.9.tar.gz$ cd redis-4.0.9$ make$ src/redis-serversrc/redis-cli启动的时候出现 WARNING overcommit_memory is set to 0! Background...

2018-04-27 14:27:19 141

原创 git 查看单独一个文件的修改历史

我看到的更好的方法。1. git log filename可以看到fileName相关的commit记录2. git log -p filenam可以显示每次提交的diff3. 只看某次提交中的某个文件变化,可以直接加上fileNamegit show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename...

2018-04-23 10:55:40 95254 2

转载 php并发加锁

CleverCode在工作项目中,会遇到一些php并发访问去修改一个数据问题,如果这个数据不加锁,就会造成数据的错误。下面CleverCode将分析一个财务支付锁的问题。1 没有应用锁机制1.1 财务支付简化版本代码[php] view plain copy<?php    /**   * pay.php   *   * 支付没有应用锁  *   * Copy right (c) 2016 ...

2018-04-19 10:00:03 7280

转载 mysql优化的方式和技巧

SQL优化步骤1,通过show status like 'Com_%' 查询数据库以查询为主还是以更新为主,以及各种sql的大致执行比例是多少,对于事务型的应用,通过Com_commit和Com_rollback可以了解事物提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。show status like 'Com_select' ;show status like 'C...

2018-04-18 09:46:37 150

转载 Redis的hash数据类型及其应用场景解析---购物车

1.Hash数据结构Redis中的Hashes类型可以看成具有String Key和String Value的map容器2.Hash存储购物车数据的操作2:存储用户关系,用户id,年龄,姓名是key对应value值...

2018-04-11 10:44:23 7344

转载 PHP策略模式

例如:一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告6 项目应用6.1 需求说明    实现一个商场收银系统,商品可以有正常收费,打折收费,返利收费等模式(来之《大话设计模式》)6.2 需求分析    按照需求,可以将收费操作设计成为一个接口算法,正常收费,打折收费,返利收费都继承这个接口,实现不同的策略算法。然后设计一个环境类,去维护策略的实例。6.3...

2018-04-10 18:01:43 219

转载 php设计模式之命令链模式

1. 使用场景1. 命令连模式可以使用在用户登陆注册的时候处理不同角色用户的业务逻辑,与变量值 <?php/** * command interface **/interface MyCommand{    public function onCommand( $name, $args );}//user registerclass Register{    private $_comman...

2018-04-10 17:19:19 282

转载 mysql子查询不支持limit问题解决

This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决这次国庆节回来后的测试中,在一个Mysql表达式中使用嵌套查询,出现了这个错误。原因是内层select语句带有limit子句。在网上查了下,有文章指出:比如这样的语句是不能正确执行的。select * from table where id in (...

2018-04-09 18:02:24 2349

转载 Nginx限制连接数和请求数

Nginx官方版本限制IP的连接和并发分别有两个模块:点击以下超链接可查看对应模块的官方详细介绍limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 "leaky bucket"limit_req_conn 用来限制同一时间连接数,即并发限制 其中limit_req_conn模块可以根据源IP限制单用户并发访问的连接数或连接到该服务的总并发连接数 ​什么是漏桶算法?...

2018-04-08 18:00:29 15335 3

转载 聊聊高并发系统之限流特技

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限...

2018-04-08 16:45:44 169

转载 大型网站架构 - LAMP

一 网站大访问量1. 负载均衡:大的访问量平均分流到多台PC机Linux LVS负载均衡2. 冗余技术:服务器集群,一台服务器宕机,另一台服务器会被激活(防止单点故障)二 网站大数据存储1. Mysql数据库集群(主从复制)2. Mysql数据库分库分表(垂直分表,水平分表)3. Mysql分区技术,将一个表底层存储上拆分成多个区,使用hash算法拆分,或直接取模4. 基于分布式文件存储的数据库 ...

2018-04-08 11:26:12 167

转载 PHP中删除数组中的元素详解(unset,array_splice)数组元素增删汇总

php中删除数组元素是非常的简单的,主要是unset,array_splice,但是关于两者有,长时间混用,有的时候竟然分不出区别。今天特意总结一下,增加记忆,便于使用。很多地方都这样区别unset,array_splicearray_splice()函数删除的话,数组的索引值也变化了。unset()函数删除的话,数组的索引值没有变化。其实我觉得这样区分是有前提的。[php] view plain...

2018-04-02 11:37:20 355

原创 笔试题算法

   有一个包含从1到n的数组,数字排序乱序且不重复(假设n=10),例如[1,5,8,3,4,9,2,6,7,10]。函数randomDeleter随机删除其中3个数字,并返回结果(例如:输入原始数组,随机删掉5、9、7,返回数组[1,8,3,4,2,6,10])。请写一个函数找出被删除的3个数字。     function randomDeleter($arr) {  $i = 0;     ...

2018-04-02 11:33:27 225

转载 Mysql索引会失效的几种情况分析

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)  注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.对于多列索引,不是使用的第一部分(第一个),则不会使用索引3.like查询是以%开头4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引5.如果mys...

2018-04-02 10:24:01 564

全球地区表世界上所有国家或地区的名录

精心整理世界上所有国家或地区的名录,共计246条,包含名称,人口等字段,可下载应用于数据库基础数据构建上层应用,数据格式为json,noSql数据库可以直接导入,sql数据库请自行转换结构。

2022-01-12

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

TA关注的人

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