202007-23 PHP运行方式介绍 HOT CGI 协议模式CGI 的含义是通用网关协议(Common Gateway Interface),它允许 web 服务器通过特定的协议与应用程序通信,调用原理如下: 用户请求 -> Web服务器接收请求 -> fork子进程 调用程序/执行程序 -> 程序返回内容/程序调用结束 -> Web服务器接收内容-> 返回给用户, 由于每次用户请求都得fork创建子进程调用应用程序,请求结束后销毁进程,所以性能比较低。 继续阅读 >
202007-23 消息队列探秘 – RabbitMQ 消息队列介绍 HOT RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。 继续阅读 >
202007-22 MySQL 中 SQL 优化常用的30 种方法,你会几种? HOT 、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 继续阅读 >
202007-17 详解 MySQL 基准测试和sysbench工具 HOT 数据库的基准测试是对数据库的性能指标进行定量的、可复现的、可对比的测试。基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加简单、直接、易于测试,数据可以由工具生成,不要求真实;而压力测试一般考虑业务逻辑(如购物车业务),要求真实的数据。 继续阅读 >
202006-18 php+redis实现消息队列 HOT php+redis消息队列是php+mysql性能不足时的一个中间处理方案. 通过这个中间的处理,保证的数据的可用性和准确性。用于服务器瞬间请求大,数据库压力大的情况。如并发量大导致的超卖、并发量大导致的数据重复情况。 继续阅读 >
202006-18 MySQL事务隔离级别中可重复读与幻读 HOT 在这篇文章中,我将重点围绕MySQL中 可重复读(Repeatable read)能防住幻读吗? 这一问题展开讨论,相信看完这篇文章后,你一定会对事务隔离级别有新的认识. 继续阅读 >
202006-18 权限管理(RBAC),不会的了解一下 HOT RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。 继续阅读 >
202006-18 PHP验证码生成原理和实现 HOT 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码。 继续阅读 >
202006-13 MySQL 对于千万级的大表要怎么优化? HOT 首先采用Mysql存储千亿级的数据,确实是一项非常大的挑战。Mysql单表确实可以存储10亿级的数据,只是这个时候性能非常差,项目中大量的实验证明,Mysql单表容量在500万左右,性能处于最佳状态。 针对大表的优化,主要是通过数据库分库分表来解决,目前比较普遍的方案有三个:分区,分库分表,NoSql/NewSql。实际项目中,这三种方案是结合的,目前绝大部分系统的核心数据都是以RDBMS存储为主,NoSql/NewSql存储为辅。 继续阅读 >
202006-09 PHP中的服务容器与依赖注入的思想 HOT 当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。 继续阅读 >
202006-05 MySql性能调优一(存储引擎InnoDB,MyISAM) HOT 行锁必须有索引才能实现,否则就会锁全表。 两个事物不能同时锁同一个索引。 insert,delete,update在事物中会默认自动加上排他锁。 继续阅读 >
202006-05 MySQL 复制部署及其配置 HOT 此外,由于主备部署需要多台服务器,但是这种要求对大多数人来说并不怎么友好,毕竟没有必要为了学习部署主备结构,多买个云服务器。因此,为了测试方便,我们通过 docker 容器技术在同台机器上部署多个容器,从而实现在一台机器上部署主备结构。 继续阅读 >
202006-05 PHP控制反转(IOC)和依赖注入(DI) HOT 总结: 1.我们把A类中的B类对象和C类对象的创建移至A类外 2.原本A类依赖B类和C类,现在变成了A依赖Factory,Factory依赖B和C。 继续阅读 >
202006-05 PHP获取指定分钟数的下一个整数倍 HOT 要定时发送邮件,邮件数据入表时就记录下其待发送时间,然后crontab是每分钟扫描邮件表, 找出当时那一分钟需要发送的邮件。 继续阅读 >
202006-05 mysql 的读写锁与并发控制 HOT 表锁:当某用户修改数据时,会获取写锁,此时会锁住整张表,其他用户都不能读和写,myisam 行锁:当某用户修改某几行数据,会获取写锁,此时只是锁住那几行,那几行其他用户不能读和写;其他行没有影响,但是管理锁会消耗资源,innodb 继续阅读 >
202006-01 mysql优化——查询优化 HOT 这一篇mysql优化是注重于查询优化,根据mysql的执行情况,判断mysql什么时候需要优化,关于数据库开始阶段的数据库逻辑、物理结构的设计结构优化不是本文重点,下次再谈。 继续阅读 >
202005-26 mysql处理高并发,防止库存超卖 HOT 一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。 继续阅读 >
202005-23 Elasticsearch在Centos下搭建可视化服务 HOT 要想可视化ElasticSearch,就需要安装一些插件,安装插件的前提是安装所依赖的环境,比如maven等。 继续阅读 >
202005-22 MySQL性能优化的最佳12条经验 HOT 数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句), 继续阅读 >