Pistachio's Blog

Later equals never.

解决系统并发问题

前言之前开发了办公室预约系统,功能上基本实现了,现在需要提升性能问题,比如考虑并发情况,在多个人同时预约的时候,怎样解决并发问题呢?其实本质是要对事务上锁。 1. 在MySQL方面提升MySQL的性能分析 MySQL Query Optimizer(自带的优化器) MySQL常见的瓶颈 CPU饱和:通常发生在数据装入内存或者从磁盘中读数据 磁盘IO饱和:载入的数据远大于内存的容量 服务器性......

C++常用函数

1、string substr(int pos, int len) 从第pos开始,截取长度为len的字符串 2、随机函数 1rand() % n // 表示随机返回[0 ~ n-1] 的数 LC384. 打乱数组 ...

对RESTful_API的理解

RESTful API的理解REST表示Representational State Transfer(表现状态转移),是一种设计风格,加ful转成形容词,以形容这种设计规范的API,故为RESTful API 1.资源与URI任何事物都是资源,要想事物被唯一识别,在web中设置了URI。URI既可以看成是资源的地址,也可以看成是资源的名称。在实际开发中,资源可理解为数据库中的数据。 URI......

PHP几个判断变量为空的函数

isset()、is_null()、empty()isset()判断变量一个变量是否设置,变量存在返回true,不存在则返回false 12345<?php$a = 0;var_dump(isset($a))?>//bool(true) is_null()查看变量是否为空。以下三种情况返回true: 如果一个变量没有赋值 变量赋值为NULL 变量还没定义,或者变量被销......

UNIX下的IO模型

前言做一个网络服务器,若使用多线程,每一个请求都是一个线程,但会有CPU上下文切换,代价比较高,因此考虑用单线程处理并发问题,这时候需要网络模型。 Unix的IO读写过程 等待数据准备 把数据从系统内核拷贝到用户进程中 Unix下网络的IO模型(五种)同步IO 阻塞式IO (Blocking IO) 同步阻塞 非阻塞式IO (NonBlocking IO) 同步非阻塞(就是IO复......

配置nginx

php-fpm.conf和nginx.conf(以及其下vhost中的虚拟主机配置文件)的配置要对应,否则会出现502的报错 https://www.jianshu.com/p/15fa13a1d6f4 ...

前序与中序遍历构造二叉树

通过刷题学习,现在对二叉树递归遍历有新的认识。 前序遍历:根节点,左子树,右子树 中序遍历:左子树,根节点,右子树 由此可见,前序遍历的第一个节点就是中序遍历的根节点 此处设前序遍历中,左子树的右边界为x,由于左子树结点的个数在前序和中序遍历中相同,即x -(pl+1)=(inroot-1) - il,故推出 x = inroot - il + pl,求出左子树右边界的下标。 求......

树的序列化与反序列化

序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。 树的序列化就是把树转化成字符串存储,反序列化就是把树从字符串转回树形 序列化的过程就是,先把根结点存入队列,(若不为空)则把其转成字符串存入字符流中(其实就是拼接字符串),再把它的左右子树加入到队列,作为根节点继续递归构造。如果结点为空,......

C++字符串转数字

通过几种方法,把数字字符串转成int输出 stoi(string s) stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtime error! 12345678910111213#include <iostream>//#include <cstring>using namespace std;int main(){ st......

MySQL主从复制

在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。 主从复制是一个成熟的架构,在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;在从主服务器进行备份,避免备份期间影响主服务器服务;当主服务器出现问题时,可以切换到从服务器。 主从复制原理 MySQL复制过程: ......