Go常用函数

常用内置函数:

close:用于管道通信

len/cap:len 用于返回某个类型的长度或数量(字符串、数组、切片、map 和管道);cap 是容量的意思,用于返回某个类型的最大容量(只能用于切片和 map)

Read More

golangBasic10-20

10错误处理

错误处理方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main
import (
"io/ioutil"
"fmt"
)
func main(){
f, err := ioutil.ReadFile("test.txt")
if err != nil{
fmt.Println(err)
}else {
fmt.Println(f)
}
}

Read More

golangBasic1-9

GOPATH目录下主要包含三个重要目录:
(1)bin:Go编译可执行文件的存放路径。
(2)pkg:Go编译包时生成的.a中间文件存放路径。
(3)src:Go标准库源码路径。

Read More

mongoDB02

Mongodb与Redis应用指标对比

MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于
二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式

Read More

MongoDB01

服务器三种架构

服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。

Read More

Nginx比Apache支持高并发

Nginx比Apache高并发的原因

链接:https://www.cnblogs.com/hnhycnlc888/p/12606002.html

资料1

nginx默认以多进程的方式工作,一个master进程和多个worker进程,master进程主要用来管理worker进程.多个worker进程同等竞争来自客户端的请求,一个worker进程可以处理多个请求,但不能处理其它worker进程的请求.每个worker进程里面只有一个主线程,在epoll支持下,采用异步非阻塞的方式来处理请求,从而实现高并发.epoll支持监听多个事件

Read More

Sessiong表配置

主题部署:

1
2
3
4
5
采用经过dmstr/yii2-adminlte-asset封装过的主题进行安装
composer require dmstr/yii2-adminlte-asset
composer require mdmsoft/yii2-admin
腾讯云cos存储插件,存储静态资源,如图片/css/js
composer require qcloud/cos-sdk-v5

由于开启动负载均衡,有几台服务器,所以session的存入服务器的对应session文件不一定在同一台服务器上,导致获取到的信息可能不对应(存的sessionid和取的sessionid不是同一个)。例如短信验证码

Read More

PDO

PDO概念

PHP和MySQL数据库是“黄金搭档”,但是能和PHP“搭档”的不止MySQL数据库一种,还有mssql、Oracle、SQLServer(局限:只能用微软开发的windows操作系统),每一种数据库都为PHP提供了属于自己的操作数据库的扩展函数!比如,就以连接数据库为例:

MySQL:mysql_connect

mssql:mssql_connect

Oracle:oci_connect

Read More

ThinkPHP

框架下载地址:版本5.0.24

http://www.thinkphp.cn/down/framework.html

TP5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
tp5
├─application 应用目录
├─extend 扩展类库目录(可定义)
├─public 网站对外访问目录
├─runtime 运行时目录(可定义)
├─vendor 第三方类库目录(Composer)
├─thinkphp 框架核心目录
├─build.php 自动生成定义文件(参考)
├─composer.json Composer定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行工具入口

如果在linux环境下面的话,需要给runtime目录755权限。

Read More