202004-06 Redis中bitmap的妙用 HOT 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省储存空间。 继续阅读 >
202004-06 PHP-FPM是什么? HOT PHP-FPM 即 PHP FastCGI 进程管理器,要了解 PHP-FPM ,首先要看看 CGI 与 FastCGI 的关系。 CGI 的英文全名是 Common Gateway Interface,即通用网关接口,是 Web 服务器调用外部程序时所使用的一种服务端应用的规范。 继续阅读 >
202004-06 PHP 编写守护进程 HOT 守护进程 (daemon) 是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。 继续阅读 >
202004-06 MySQL5.7特性:JSON数据类型 HOT MySQL5.7的发行声明中,官方称之为里程碑式的版本,除了运行速度大幅度提升之外,还添加了之前版本没有的功能,如本文所述的原生JSON数据类型功能。 在此版本之前,MySQL所有的JSON数据类型,全部是使用text等文本类型来实现的,数据的处理只能在应用代码级来实现,十分不方便。 继续阅读 >
202004-06 PHP代码实现抓包curl解析 HOT 拿到这个curl我可以直接在服务器跑这个curl命令,现在我想使用php做脚本,我希望可以便利的转换,不需要我自己写太多代码爬取,写了下如下方法,后面去爬取内容两行代码轻松搞定,舒畅! 继续阅读 >
202004-06 PHP魔术方法 HOT __construct 构造函数 类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。 __deconstruct 析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。 继续阅读 >
202004-02 PHP中Session ID的实现原理 HOT Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。 继续阅读 >
202004-02 PHP消息队列实现及应用讲述 HOT 从本质上说消息对列就是一个队列结构的中间件,也就是说消息放入这个中间件之后就可以直接返回,并不需要系统立即处理,而另外会有一个程序读取这些数据,并按顺序进行逐次处理。 也就是说当你遇到一个并发特别大并且耗时特别长同时还不需要立即返回处理结果,使用消息队列可以解决这类问题。 继续阅读 >
202004-02 nginx与php-fpm通信的两种方式 HOT 在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。 unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再nginx配置文件中填写php-fpm的pid文件位置,效率要比tcp socket高。 tcp socket的优点是可以跨服务器,当nginx和php-fpm不在同一台机器上时,只能使用这种方式。 windows系统只能使用tcp socket的通信方式 继续阅读 >
202004-02 复习下Linux去除重复项命令uniq HOT uniq也是linux管道命令家族中的一员,其主要功能是去除重复项。 在介绍uniq命令之前,我们先来新建在下面的案例中需要用到的文件/tmp/uniq.txt,内容如下: 默认情况下uniq只会检索相邻的重复数据从而去重。在/tmp/uniq.txt中虽然“onmpw web site” 有三条,但是其中一条是和其他两条不相邻的,所以只去重了一条,同理“error php function”也是这种情况。 继续阅读 >
202004-02 php SESSION入库的实现 HOT session入库,就是重写session制机,在session的周期内,获得到session的数据并记录到数据库 Session默认是存放到服务器上的文件中,不方便管理,如果能把session存放到数据库中就可以方便的对数据库进行管理了 继续阅读 >
202004-01 socket编程之websocket实现 HOT 主要实现私聊和群聊两个功能,要在web端实现想微信QQ那样的即时通讯的功能,我们需要了解一下websocket。 websocket是一种可以双向通讯的长连接协议,http是获取完数据就关闭,websocket则可以一直连接,就像铺了一条管道一样,水可以一直流着。 继续阅读 >
202004-01 Swoole4创建Mysql连接池 HOT 数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。 继续阅读 >
202004-01 php+laravel依赖注入浅析 HOT laravel容器包含控制反转和依赖注入,使用起来就是,先把对象bind好,需要时可以直接使用make来取就好。通常我们的调用如下$config=$container->make('config');$connection=newConnection($this->config);比较好理解,这样的好处就是不用直接new一个实例了,方法传值没啥改变,还可以多处共享此实例。但这跟依赖注入有什么关系,真正的依赖注入是不需给方法传递任何参数值,只需要指明方法参数类型,代码自动查找... 继续阅读 >
202004-01 redis哨兵模式主从切换后,php实现自动切换 HOT redis的哨兵模式,在主服务器挂掉后,会通过选举将对应的从服务器切换为主服务器,以此来达到服务的高可用性。 在业务层面如果主从做了切换可能相对应的服务器IP地址会发生改变,这样会带来程序的的正常运行。 继续阅读 >
202003-31 Kafka为什么吞吐量大、速度快? HOT Kafka是大数据领域无处不在的消息中间件,目前广泛使用在企业内部的实时数据管道,并帮助企业构建自己的流计算应用程序。 Kafka虽然是基于磁盘做的数据存储,但却具有高性能、高吞吐、低延时的特点,其吞吐量动辄几万、几十上百万。 但是很多使用过Kafka的人,经常会被问到这样一个问题,Kafka为什么速度快,吞吐量大;大部分被问的人都是一下子就懵了,或者是只知道一些简单的点,本文就简单的介绍一下Kafka为什么吞吐量大,速度快。 继续阅读 >
202003-31 PHP实现智能语音播报 HOT 大家估计都知道现在很多AI音响能够给你播报天气,叫你起床...甚至能够接受语音指令!所谓的人工智能音响,听起来很高大上,都说PHP是最好的编程语言,今天我就带大家来实现一个语音播报功能,写个美女叫你早上起床! 继续阅读 >
202003-31 Redis主从复制 HOT 主从复制的原理以及过程必须要掌握,这样我们才知道为什么会出现这些问题 主从复制过程大体可以分为3个阶段:连接建立阶段(即准备阶段)、数据同步阶段、命令传播阶段 继续阅读 >