mysql 基础(3)事务

事务 事务是数据库执行操作的最小逻辑单元 事务可以由一个或多个 SQL 组成 组成事务的 SQL 或全部成功或全部失败 特性 特征 说明 原子性(A) 一个事务的所有操作,……

阅读全文

mysql 基础(2)存储引擎

InnoDB 特点 事务型存储引擎 数据按主键聚集存储 支持行级锁和 MVCC 支持 Btree 和自适应 Hash 索引 支持全文和空间索引 使用场景 大多数 OLTP 场景 NDB 特点 事务型存储引擎 数据保存在……

阅读全文

mysql 基础(1)字段类型

字符串类型 类型 范围 说明 char(M) M=1~255 字符 固定长度 varchar(M) 一行中所有 varchar 的列所占用的字节数不能超过 65535 字节 存储可变长度的 M 个字符 tinytext 最大长度 255 可变长度 text 最大长度 65535 可……

阅读全文

PHP和Go通过jsonrpc通信

说明 PHP和GO通过jsonrpc通信 代码 package main import ( "errors" "fmt" "log" "net" "net/rpc" "net/rpc/jsonrpc" "os" ) // 算数运算结构体 type Arith struct { } // 算数运算请求结构体 type ArithRequest struct { A int B int } // 算数运算……

阅读全文

mysql 索引最左原则

建表 CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, `sex` tinyint(1) DEFAULT NULL, `age` tinyint(2) DEFAULT NULL, PRIMARY KEY (`id`), KEY `Index_user` (`name`,`age`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4; 测试 sql 第一种 mysql> explain SELECT * FROM `user` where name="tom" \G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: user partitions: NULL type: ref possible_keys: Index_user key: Index_user……

阅读全文

nginx 配置 socket.io 负载均衡

nginx 配置 upstream nodes { ip_hash; server 192.168.1.114:3000; server 192.168.1.114:3001; server 192.168.1.114:3002; } server { listen 80; server_name ws; index index.html index.htm index.php; location /{ proxy_pass http://nodes; #反向代理集群 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } socket.io var express = require('express'); var app = express(); var path = require('path'); var……

阅读全文

nginx 配置文件

nginx 配置文件 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice……

阅读全文

python 在类中实现 swith 功能

问题 Python 中没有 switch 的语法,但是很多时候需要多重条件判断,又不想写多个 if,那只能手动实现了。 实现代码 class RunMethod: def post(self,url=None,data=None,header=None): print(url) def get(self,url=None,data=None,header=None): print("get") def main(self,method): method = getattr(self, method) return method if __name__ == '__main__': client =……

阅读全文