自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

脚本小子-小贝的专栏

The quieter you become,the more you are able to hear!

  • 博客(102)
  • 资源 (3)
  • 收藏
  • 关注

原创 8、Php-Fpm创建进程说明

1、配置文件指令1.1、全局配置指令process.maxmaster进程能够Fork的最大FPM进程数。默认不启用1.2、进程池配置指令pm设置进程管理器如何管理子进程。可用值:static,ondemand,dynamic。必须设置。其中:为static时,该进程池能够创建的子进程数为 pm.max_children的值;为dynamic时,该进程池启动时能够创建的子进程数...

2019-05-24 17:38:47 367

原创 7、Php-Fpm进程管理

1、进程管理php-fpm采用的是master-worker的进程方式。其中,master负责监听端口,等待链接;其次,注册信号,可以通过信息好master进行管理 worker负责处理具体的逻辑如下图所示2、信号管理master进程可以理解如下信号 信号 含义 INT, TERM 立刻终止 ...

2019-05-24 17:35:16 326

原创 6、Php-Fpm配置文件说明

1、php-fpm是管理fastcgi的进程管理器,采用master-worker的方式。在源码编译php时,需要–enable-fpm,才能启动。默认其配置文件在php安装目录中的etc中2、php-fpm配置文件说明FPM 使用类似php.ini语法的php-fpm.conf和进程池配置文件。两者的关系,如下图所示2.1、物理层面3、配置文件指令说明摘自...

2019-05-16 23:06:52 627

原创 5、Nginx与Php-Fpm结合详解

1、环境准备 版本 安装路径 nginx nginx/1.9.2 /usr/local/nginx php 7.2.4 /usr/local/php 2、配置nginx.conf文件在/usr/local/ngin...

2019-05-16 23:04:34 200

原创 4、Webserver的选择

1、webserver目前,行业上使用广泛的web软件有apache、nginx。但两者之间有所区别1.1、Nginxnginx反向代理服务器,而且可以作为非常优秀的邮件代理服务器其特点:轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apach...

2019-05-14 23:44:30 314

原创 3、Webserver如何处理动态文件

1、webserver处理动态文件的方式模块化即把处理动态文件的引擎当成模块集成进webserver中 CGI通信协议2、实现方式2.1、模块化a、过程描述:客户端发起动态文件请求 webserver接收到请求,根据其配置文件的内容,交由至对应的动态模块处理 b、要点:把动态处理模块当成是webserver的一个子模块。2.2、CGI通用网关接口(Com...

2019-05-14 23:41:19 132

原创 2、Web通信流程

1、web通信web通信是采用http协议,完成C/S的通信方式。其流程图如下:其中,整个网络拓展中存在: DNS: 负责把域名解析成ip地址 webserver: 提供web服务的机器 资源库: 泛指磁盘文件、数据库等等 2、webserver如何处理资源资源按照是否需要计算,来区分静态or动态文件:即每次请求都不变的资...

2019-05-11 23:56:47 300

原创 1、单机到联网的发展

1、单机时代在单机时代,电脑跟电脑之间是不互通的。即电脑A中的资源,电脑B是无法直接获取。只能通过外部设备进行拷贝。比如软盘、U盘等等。这个大大地降低了事情的处理效率。2、发展-电脑互联为了提高生产效率。就势必要解决电脑与电脑之间的互联问题。就有下列的发展: 网络拓扑 TCP/IP协议 HTTP协议 程序设计语言等等 3、电脑...

2019-05-11 23:53:04 465

原创 深入理解Workerman框架导读

结合自己对workerman框架的学习与使用。在使用的过程中,深刻地感受到这个框架会对php程序员技术栈产生多大的影响。比如socket网络编程、多进程处理以及多进程间的通信等等知识点。这些基本上大多数phper是很少去接触和理解。但碍于网络上关于workerman框架的博客文章,都仅限于框架本身能做什么的场景介绍;很少有深入地去讲解框架本身的”来龙去脉”。因此,我自己根据我对workerman框...

2019-05-11 23:50:00 306

原创 Go 常见中断和跳转语句

package mainimport "fmt"func main() { // 1、break 表示中断退出 被适用于 for、switch、select // continue 表示跳出本次循环,被适用于 for i := 0 // for 不写条件,则是死循环 for { i++ if i==10{ break } if i==5{ continue } fmt.Pri...

2018-07-06 11:19:38 1786 1

原创 Go循环语句

package mainimport "fmt"func main() { // 1、for语句格式 // for 初始化条件;判断条件;条件变化 sum := 0 for i := 0; i <= 5; i++ { sum += i } fmt.Println("sum=",sum) // 2、for实现while操作 i:=5 for i>0{ fmt.Println("当前i...

2018-07-06 11:19:05 315

原创 Go选择语句

package mainimport "fmt"func main() { // 1、if语句使用 var a = 10 if a==10 { fmt.Println("a等于10") } // 2、if-else语句使用 var b = 9 if a>b { fmt.Println("a>b") }else{ fmt.Println("a<b") } // 3、if-el...

2018-07-06 11:18:30 243

原创 Go常见运算操作

1、算术运算符// 运算符 描述 实例// + 相加 A + B 输出结果 30// - 相减 A - B 输出结果 -10// * 相乘 A * B 输出结果 200// / 相除 B / A 输出结果 2// % 求余 B % A 输出结果 0// ++ 自增 A++ 输出结果 11// -- 自减 A-- 输出结果 92、关系运算符// 运算符 描述 实例// == 检查两个值是否相等,如果...

2018-07-06 11:17:45 648

原创 Go 类型转换与别名

package mainimport "fmt"func main() { // Go语言中没有隐式转换,都是显式转换。格式 type(var).即类型(变量) // 但转换只能在兼容类型下才行 // 1、不兼容类型不能转换 bool <=> int var b = true fmt.Printf("b = %d\n",b) // 结果: b = %!d(bool=true) // ...

2018-07-06 11:16:26 2915

原创 Go fmt包格式化输出与输入操作

package mainimport "fmt"func main() { a := 10 b := 3.14 c := 'a' d := "hello" e := true // 1、查看变量类型 fmt.Printf("%T,%T,%T,%T,%T\n",a,b,c,d,e) // 2、格式整形 fmt.Printf("%d\n",a) // 3、格式浮点型 // %.nf 其中 n为整形,表...

2018-07-06 11:15:50 711

原创 Go 复数类型

package mainimport "fmt"func main() { // 1、声明复数类型 var t complex128 t = 2.1 + 3.14i fmt.Println(t) // 2、自动推导 t1 := 3.3 + 4.4i fmt.Println(t1) // 3、获取实部和虚部 fmt.Println("实部:",real(t1),",虚部:",imag(t1))}...

2018-07-06 11:15:01 1120

原创 Go 字符串操作

package mainimport "fmt"func main() { var s string = "abcd" // 1、获取字符串长度 fmt.Println("s 's length is:",len(s)) // 2、截取字符串 // 字符串变量[startIndex:endIndex] 左闭右开 // 2.1、获取第一个元素 fmt.Printf("s[0]=%c\n",s[0])...

2018-07-05 15:29:49 123

原创 Go 字符类型

package mainimport "fmt"func main() { // 1、声明字符类型 var ch byte ch = 97 fmt.Printf("ch=%c\n",ch) // 字符大小写相差32 ch = ch - 32 fmt.Printf("ch=%c\n",ch) ch = 'b' fmt.Printf("ch=%c,ch=%d\n",ch,ch) // 2、自动推导 c...

2018-07-05 15:29:14 1115

原创 Go浮点型

package mainimport "fmt"func main() { // 1、先声明,不进行初始化 var f float32 fmt.Println("f=",f) f = 10 fmt.Println("f=",f) // 2、自动推导 a := 10.0 fmt.Printf("a type is %T,a=%.2f",a,a)}...

2018-07-05 15:28:36 295

原创 Go布尔类型

package mainimport "fmt"func main() { // 1、声明布尔类型 var a bool = true fmt.Println("a=",a) // 2、自动推导 var b = false fmt.Println("b=",b) c := false fmt.Printf("c type is %T,c=%b",c,c)}...

2018-07-05 15:28:03 415

原创 Go iota枚举

package mainimport "fmt"func main() { // 1、iota常量自动生成器,每隔一行,自动累加1 // 通常给常量使用 const( a = iota b = iota c = iota ) fmt.Printf("a=%d,b=%d,c=%d\n",a,b,c) // 2、遇到const,则iota会重置为0 const d = iota fmt.Prin...

2018-07-05 15:27:28 629

原创 Go常量使用

package mainimport "fmt"func main() { // 变量: 程序运行期间,可以改变的量,变量声明需要var // 常量: 程序运行期间,不能被改变的量,声明需要const // 1、常量声明 const a int = 10 fmt.Println("a=",a) // 2、常量自动推导,不需要: const b = 10 fmt.Printf("b type is ...

2018-07-05 12:52:34 807

原创 Go变量使用

package mainimport "fmt"func main() { // 1、声明格式 var 变量名 类型 // go要求,变量声明了,必须要使用,否则会报错 // 2、只是声明没有初始化的变量,默认值为其类型的默认值,比如int为0,string为"",bool为false等等 var a int fmt.Println("a=",a) var s string fmt.Print...

2018-07-05 12:52:06 237

原创 Go语言数据类型

1、go语言数据类型概要序号类型和描述1布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。2数字类型整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。3字符串类型:字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符...

2018-07-05 12:51:04 226

原创 Go第一个例子

1、例子源码package mainimport "fmt"func main() { fmt.Println("hello world.")}2、源码说明由于go是采用包,来进行管理,因此,go语法规定,程序代码第一行必须注明包名,这里是mainimport是导入标识符,便于把一些外部的已经写好的包or库,引入到本程序中func是函数的关键字,函数名为main,这是每个程序的主入口函数体内容,是...

2018-07-05 12:50:26 1298

原创 Go安装教程

1、安装说明本机电脑为windows 102、安装包下载地址https://studygolang.com/dl3、安装步骤说明根据电脑平台的不同选择对应的安装包,这里选择https://studygolang.com/dl/golang/go1.10.3.windows-amd64.msi下载完毕后,直接运行该软件,选择对应的安装目录后,一致点击next,完成安装4、验证是否安装成功按ctrl+...

2018-07-05 12:48:52 1443

原创 脚本小子_python正则表达式

一、正则表达式内置正则re库元字符(metacharacter)是正则表达式中具有特殊意义的字符。每个元字符都有特殊意义,它们使正则表达式能够匹配特定的字符串。常用的元字符包括 | 、 () 、 [] 、 . 、 * 、 + 、 ? 、 ^ 、$ 和 (?P<name>) 。如果你在正则表达式中见到这些字符,要知道程序不是要搜索这些字符本身,而是要搜索它们描述的东西。1、元字符说明元字...

2018-06-23 16:23:57 356 1

原创 脚本小子_python数据类型代码

#!/usr/local/bin/python3# coding:utf-8# format格式# x = 4# y = 4# z = x + y# 格式化,输出整形# print("z is {0:d}".format(z))# 格式化,输出浮点型,并保留两位小数点# print("z is {0:.2f}".format(z))# 一、数值# 整数、浮点数、长整数、复数# 1、整数# x = ...

2018-06-23 16:22:59 278

原创 脚本小子_python基础

一、数据类型名称举例字符串string'hello world'整形int100布尔boolTrue OR False浮点型float3.14列表list[1,2,3,4]元组tuple(1,2,3,4)字典dict{'name':'xiaobei','info':'sb'}二、数据容器1、变量变量由一串字符组成,通常是一个小写单词(或用下划线连接的多个单词),用来说明变量包含的内容。这里表明变...

2018-06-22 14:43:47 1944

原创 脚本小子_什么是数据处理

一、什么是数据处理数据处理是指将杂乱的或未加工的数据源转换成有用的信息。先寻找原始数据源,并判断其价值:这些数据集的数据质量有多好?它们与你的目标是否相关?能否找到更好的数据源?在对数据进行解析与清洗后,数据集变得可用,这时你可以利用工具和方法(如Python 脚本)来帮你分析数据,并以报告的形式展示结果。这样你可以将无人问津的数据变得清晰可用二、数据处理过程首先提出一个问题,然后获取数据、清洗数...

2018-06-22 14:38:15 880

原创 脚本小子_Lua模块与包

一、Lua模块与包从开发人员的角度来看,一个模块就是一个程序库,具体的引用可以通过require来加载。然后便得到一个变量,表示一个table类型。这个table有点像一个命名空间,其内容就是模块中导出的所有东西,例如函数or常量等等。一个标准的模块还应是require返回这个table1、require函数要加载一个模块,只需简单调用require "模块名"。此调用会返回一个由模块函数组成的t...

2018-05-08 19:20:37 340

原创 脚本小子_Lua元表例子

一、Lua元表例子1、table的__index例子解析1.1、__index例子1代码local t = {'a','b'}-- 打印t所具有的keyprint(t[1])print(t[2])-- 打印t所具不具有的keyprint(t[3])-- 设置t __indexsetmetatable(t,{__index = function(t,k) for k,v in pairs(t) do...

2018-05-06 19:53:55 281

原创 脚本小子_Lua元表与元方法

一、Lua元表与元方法Lua中每种类型都有其对应的取值范围和对应的操作方法。比如整形,只能取数字值和其操作方法: 加减乘除。但是,在操作table类型时,却无法将两个table相加,因为table没有定义相加的操作。而元表则是来补充这块的不足。元表可以通过修改一个值得行为,使其在面对一个非预定义的操作时,去执行一个指定的操作。比如,定义好table,相加这个操作的元表。当table a+b操作时,...

2018-05-05 23:26:14 235

原创 脚本小子_Lua数据结构

一、Lua数据结构Lua中table不是一种简单地数据结构,它可以作为其它数据结构的基础。其它语言提供的数据结构,如数组、线性表、队列和集合等。这些在lua都可以通过table来实现出来1、数组代码local a = {}for i=1,10 do a[i] = iend注意: lua中数组的key必须从1开始,如下:代码local a = {}for i=-3,5 do print(i) a[...

2018-05-04 23:13:58 200

原创 脚本小子_Lua错误处理

一、Lua错误处理1、assert格式: assert(表达式,字符串),当第一个参数的执行结果为true时,则返回该表达式的值,相反为false或nil,则返回字符串的内容。1.1、例子:接收一个整数的数字,并打印该数字;如输入的不是整数,则提示错误信息代码print("input data:")n = io.read()local input = assert(tonumber(n),"in...

2018-05-03 23:42:54 3003

原创 脚本小子_Lua深入了解函数

1、函数函数可以存储到变量中(无论全局or局部变量)或table中,可以作为实参传递给其他函数,还可以作为其他函数的返回值1.1、例子print("xiaobei")p = printp('123456')从这个例子的运行结果,123456可以正常打印。就是等同于p这个变量,与print这个函数是一样的。1.2、例子p = function (str)print(str)endp('haha')这...

2018-05-02 19:15:53 188

原创 脚本小子_Lua函数

一、简介函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值Lua 函数主要有两种用途:        完成指定的任务,这种情况下函数作为调用语句使用        计算并返回值,这种情况下函数作为赋值语句的表达式使用二、语法Lua 编程语言函数定义格式如下:optional_function_scope function function_name( arg...

2018-05-01 15:55:07 300

原创 脚本小子_Lua流程控制

一、流程控制在代码运行过程中,通过结果导向,进行适当地‘干预’,已达到我们的目的。二、分类1、循环控制我们需要做一些有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件1.1、循环类型类型描述while在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为 truefor重复执行指定语句,重复次数可在 f...

2018-05-01 15:51:41 232

原创 脚本小子_Lua运算符

一、运算符运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算1、运算符有如下几种类型算术运算符关系运算符逻辑运算符其他运算符二、运算符类型1、算术运算符假设a为1,b为2操作符描述实例+加a+b=3-减b-a=1*乘a*b=2/除b/a=2%取余b%a=0^乘幂b^2=4-负-a=-1 2、关系运算符假设a为1,b为2操作符描述实例==等于,检测两个值是否相等,相等返回 true,否则...

2018-04-30 16:01:19 226

原创 脚本小子_Lua数据类型

一、数据类型1、概述Lua是动态类型语言,变量没有类型定义,只需要为变量赋值。 而变量的类型则由赋值给它的值决定。值可以存储在变量中,作为参数传递或结果返回2、类型分类 数据类型 含义 nil 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false) boolean...

2018-04-30 15:59:31 190

php_redis类型组合使用

该文档是php_redis类型组合使用例子。主要涉及到redis的hash、set、list等

2015-08-15

php_redis中文帮助手册

php_redis中文帮助手册,主要是php与redis的操作命令说明

2015-08-15

php+redis使用实例

该文档是php+redis的简单实例,主要使用了get和set方法

2015-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除