【swoole.1.04】udp协议通信和粘包问题

一、udp协议通信之前所使用的客户端都是tcp协议通信,swoole在支持tcp协议的同时还支持udp协议通信。 udp服务端和客户端由于udp协议的特性,udp服务端和客户端创建比较简单服务器创建请查看文档:```php//创建Server对象,监听 127.0.0.1:9502端口,类型为SWOOLE_SOCK_UDP$serv = new swoole_server("127.0.0.1", 9502, SWOOLE_PROCESS, SWOOLE_
阅读全文

【swoole.1.03】异步客户端,心跳检测和心跳包

一、异步客户端在上一篇中我体验了一下swoole的基础客户端和服务端间的交互,其中客户端是最基础的同步客户端,即客户端的一整套连接到服务器向服务器发送数据从服务器接收数据关闭连接行为都是同步阻塞执行的,这样不就失去了socket开发的意义了吗?今天我就体验一下使用swoole创建异步客户端并进行交互。注意:由于我本地的swoole版本为4.2.13,而从4.4.8版本开始,移除了对异步回调的支持,迁移至extasync扩展中,独立为Swoole\Async\Client类,所以新版的用户
阅读全文

【swoole.1.02】初体验

一、什么是socket编程 1.socket编程和web编程的区别1.数据传输方式所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有udp和tcp两个协议。socket处于网络协议的传输层。udp协议:广播式数据传输,不进行数据验证tcp协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流。socket传输的特点:优点1. 传输数据为字节级,传输数据可自定义,数据量小(对
阅读全文

【swoole.1.01】swoole的介绍及安装+学习环境的介绍

一、swoole介绍 1. swoole 简介 swoole是PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。 2. swoole提供的功能库swoole提供了哪些功能给我们用,以为我们用到哪些服务时,可以用
阅读全文

redis-主从复制技术理论知识

  • 独角兽AileenLee
  • 2019-01-07 18:56:46
  • PHP
  • redis
一、主从复制概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。 主从复制的作用主从复制的作用主要包括:1. <hlt数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。</hlt1. <hlt故
阅读全文

redis-搭一个主从redis集群

  • 龚学鹏
  • 2019-01-06 18:55:22
  • PHP
  • redis
Redis安装和基础见:Docker相关见:环境介绍:```shell docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES9ba8230c24a8 redis "/bin/bash"
阅读全文

docker学习[2]:从0开始创建一个容器

在上一篇中,简单学习了一下docker,了解到了docker的三个基本概念,既<hlt仓库、镜像、容器</hlt。那么怎么使用docker来部署我们想要的环境呢?基本流程大概是:<hlt在docker仓库中寻找我们需要的docker镜像,使用镜像构建一个或多个容器,在容器中操作对应的环境。</hlt docker仓库目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了数量超过 15,000 的镜像。大部分需求都可以通过在 Docker Hub 中
阅读全文

执行一条sql语句mysql都干了什么?

作为一个菜鸟程序员(我),每天会写各种各样的业务代码,不可避免的,会写到很多很多的sql语句。随着我的业务代码越来越熟练,sql语句也越写越多。那么大家有没有和我一样,有一天突然很想知道一条sql语句是怎么执行的呢?假设我们有一个非常简单的表a,表中只有一个ID字段,那么在执行下面sql语句:```select from a where id = 1;```mysql到底会执行一些什么操作呢?下面是我了解到的mysql结构图,通过结构图你大概可以了解到mysql的整个
阅读全文

docker学习[1]:什么是docker?

什么是dockerDocker 是一个开源的<hlt应用容器引擎</hlt,你可以将其理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。Docker的作用如同在windows环境下的VMware,是一种环境的虚拟化方式,但是docker和其他传统的虚拟机(主要对比VMware,另外docker是一种<hlt应用容器</hlt,并不是虚拟机)相比有很多优势。1. docker能更高效的利用系统资源1. d
阅读全文