HTTP常规的请求方式:GET,POST,而RESTFull方法有: GET, POST, PUT, PATCH, DELETE等几种。要支持其他方法怎么办?我们基于PHP强大的CURL函数封装一个:这里我只增加PUT和DELETE,可以扩展: <?php /** * php curl 封…
先认识几个东西:1、Elasticsearch :开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。2、Logstash :完全开源的工具,对日志进行收集、分析,并将其存储供以后使用(如,搜索)。3、kibana:开源和免…
在redis中,字符串是以二进制形式存储的。redis提供了按位操作。位(bit)是存储器的最小单位,可以表示一位二进制数。1字节(Byte)由8个位组成,即1Byte=8bit,是存储器的基本单位,通常被作为一个存储单元。redis的几个位操作方法:setbit,getbit,bitcount,bitop,b…
1:发送手机短信,1分钟限制3次分析:给用户发送短信,首先验证手机号码格式,然后判断在1分钟以内是否发送过3次,有很多种做法,比如基于mysql实现,每发送一次,记录一条数据:手机号,时间戳。很麻烦,如果用redis处理非常简单:思路:基于redis的TTL,设置生命周期,key 设置一分钟,每次访问加1,然后…
go的包搜索是从GOPATH和GOROOT目录开始的,源码要放在这两个目录的src下才能找到,从官方支持go modules开始,项目不需要放在GOPATH下,任意目录都可以。go mod是官方最新支持的包管理工具,1.11开始测试,1.12正式支持。目前来看,go mod代表着未来golang包管理方式,一定…
mysqldump 是mysql自带的一个客户端备份工具,通过协议(默认TCP协议)链接mysql来备份我们所指定的库、表数据或者结构等。mysqldump备份出来的是文本结构,重新构建数据库、表等脚本,数据则转换成对应insert语句。注意:mysqldump在mysql安装目录的bin目录下面,不要在mys…
看一段代码:self和static的区别:<?php class A { protected static $str = "This is class A"; public static function get(){ echo "当前调用的类名为:&…
1:先把mysql驱动搞下来go get github.com/go-sql-driver/mysql 现在github.com下就有mysql驱动了2:导入相关包,我这里把配置加到入口文件,main.goimport ( _ "message/routers" "…