202006-13 MySQL 对于千万级的大表要怎么优化? HOT 首先采用Mysql存储千亿级的数据,确实是一项非常大的挑战。Mysql单表确实可以存储10亿级的数据,只是这个时候性能非常差,项目中大量的实验证明,Mysql单表容量在500万左右,性能处于最佳状态。 针对大表的优化,主要是通过数据库分库分表来解决,目前比较普遍的方案有三个:分区,分库分表,NoSql/NewSql。实际项目中,这三种方案是结合的,目前绝大部分系统的核心数据都是以RDBMS存储为主,NoSql/NewSql存储为辅。 继续阅读 >
202006-13 php并发解决方案之opcache HOT 客户的一台服务器,业务逻辑比较简单 。估算pv在120w左右吧,用的是阿里云2c4g的服务器。一大早就开始卡顿了,登陆服务器后查看负载到了八九十。 继续阅读 >
202006-09 PHP中的服务容器与依赖注入的思想 HOT 当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。 继续阅读 >
202006-09 php的session垃圾回收机制 HOT 在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。 PHP会将其在内存中销毁;这是PHP的GC垃圾处理机制,防止内存溢出。 继续阅读 >
202006-09 PHP 缓存穿透/使用Redis进行缓存加锁 HOT 缓存穿透指的是,当我们访问某个缓存KEY想取得对应的数据时,若此KEY不存在于缓存中,则会去查库。如何解决呢?将每次查询的结果都放入缓存不管是不是空。 继续阅读 >
202006-05 TCP协议的详解 HOT TCP 是面向连接的运输层协议。应用程序在使用 TCP 协议之前,必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接 每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一) TCP 提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达 TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接受缓存,用来临时存放双向通信的数据 面向字节流。TCP 中的“流”指的是流入到进程或从进程流出的字节序列 继续阅读 >
202006-05 Laravel 的缓存源码解析 HOT 具体的实现类有: ApcStore ArrayStore NullStore DatabaseStore FileStore MemcachedStore RedisStore 继续阅读 >
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-05 php使用shmop函数创建共享内存减少负载 HOT 还有就是这篇文章只是为了简单的读,并没有出现复杂的读写,否则可能会出现进程互斥等意想不到的冲突~如果复杂,那么就可以考虑信号量了~ 继续阅读 >
202006-02 PHP队列的实现 算法 HOT 此队列算法中有两个类一个是data类,这个类是存放数据;第二个是queue也就是队列类这个就是队列的一些操作。 首先队列里包含front(队列的头,也就是出队是要出去的) rear(队列的尾部在这里永远指向0) queue(存放所有入队的data对像,queue中默认存在一个元素当空时front和rear都指向他) maxsize(队列的长度)四个属性。 继续阅读 >
202006-02 PHP反射机制实现自动依赖注入 HOT 依赖注入又叫控制反转,使用过框架的人应该都不陌生。 很多人一看名字就觉得是非常高大上的东西,就对它望而却步,今天解开他它的神秘面纱。 继续阅读 >
202006-02 php简单快捷的实现邮件发送 HOT 对于程序员来说,项目中邮件发送是常用的一个功能, 我在这不讲源码,只讲如何能快速地实现。phpMailer 是一个非常强大的 php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。 继续阅读 >