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网页,上传附件,并且使用起来非常方便。 继续阅读 >
202006-01 mysql优化——查询优化 HOT 这一篇mysql优化是注重于查询优化,根据mysql的执行情况,判断mysql什么时候需要优化,关于数据库开始阶段的数据库逻辑、物理结构的设计结构优化不是本文重点,下次再谈。 继续阅读 >
202006-01 PHP CLI模式开发 HOT PHP CLI模式开发不需要任何一种Web服务器(包括Apache或MS IIS等),这样,CLI可以运行在各种场合。有两种方法可以运行PHP CLI脚本。 继续阅读 >
202005-30 Go语言的协程和信道 HOT 学习Go语言,就不得不学习协程(Goroutines)和信道(Channels),正是因为有了协程和信道的机制,才使得Go语言对高并发的天然支持,下面就让我们对协程和信道的使用一探究竟吧! 继续阅读 >
202005-30 Go语言微服务实战之初识微服务 HOT 本系列的文章,将围绕搭建一个基于微服务架构的数据统计系统的实战例子展开,我们将展示如何将服务运行在docker容器中,并将其部署在kubernetes上,相信看完这个系列的文章后,你也可以快速入门后台开发。 继续阅读 >
202005-30 Go语言切片扩容规则闲谈 HOT 每个对象在内存中都要占一块空间,可能是1字节,可能是3字节,可能是8字节,所以对于一个 struct 来说,其字段类型会觉得这个结构体对象所占的内存,但是所占内存大小可能不是所有字段类型所占内存的大小,因为为了让 CPU 读取方便,我们就会对每个字段进行内存对齐。 继续阅读 >
202005-30 Go 语言 range 解析 HOT range 关键字在 go 语言中是相当常用好用的语法糖,可以用在 for 循环中迭代 array、slice、map、channel、字符串所有涉及到遍历输出的东西。 继续阅读 >