杨 发布的文章

InnoDB 事务性引擎,被设计用来处理大量短期事务。
类型:事务性
场景:处理大量短期事务
特性:自动崩溃恢复特性
InnoDB采用MVCC来支持高并发,表基于聚簇索引来建立,聚簇索引对主键查询有很高的性能,不过它的二级索引(非主键索引)都要包含主键列,所以如果主键列很大的话,其他索引也会很大。所以表中的索引很多的话,尽可能主键小。 InnoDB内部优化,磁盘读取数据的可预测读取,在内存自动创建hash索引来加速读操作的自适应hash索引,加速插入操作的插入缓冲区。 热备份,是其他引擎不具备的。

MyISAM
特性:全文索引,压缩,空间函数(GIS) 加锁与并发,MyISAM对表加锁,不是对行,读时对表加共享锁,写时加排它锁。 压缩表,表创建后不再修改,可压缩,好处是减少磁盘空间,减少磁盘I/O,提升查询性能。

Archive 只支持查询和插入。 缓存所有的写利用zlib压缩,节省磁盘空间,但是每次select都要全表扫描,所以适用于日志和数据采集类应用 Archive支持行级锁和缓冲区,可以实现高并发的插入;在一个查询开始直到返回表中存在的所有行数之前,会阻止其他select。

blackhole 问题较多,不推荐

CSV 将CSV文件作为表操作,CSV时逗号分隔值的文件,不支持索引,常用于数据交换。

Memory 在内存中,重启后表结构还在,数据会丢失。速度很快,使用场景:查找或映射、缓存周期性聚合数据、保存中间数据。 支持hash索引,支持表级锁,因此并发写入的性能较低

背景:想将php5.6升级到7 步骤: 由于php5.6是Mac自带的,所以没有管它,通过homebrew安装php7,这个自己上网找就行,有很多。

问题: 安装完7.0后不知如何与nginx配置,命令php -v 查看的PHP版本是7.0,通过nginx的phpinfo()显示的还是5.6。所以一定是nginx的配置问题。

解决过程: 找到问题所在位置,nginx通过ip+端口号访问php-fpm,在nginx.conf中是php-fpm中监听的端口,我是将原来的php-fpm中的9000改成9001,这样nginx默认访问php70-fpm,在访问phpinfo()就是7.0。

注意: 重启php70-fpm之前要kill php-fpm,命令killall php-fpm,sudo /usr/local/sbin/php70-fpm restart 找不到php-fpm所在路径的话,可通过php-fpm -t 查看。

材料:草料二维码生成器,长度为95的链接
场景:生成的二维码没有问题,直接扫可以访问;当用canvas合成压缩后二维码时好时坏。考率过长度、分辨率、过尝试了几次发现规律,链接过长有问题,链接较短则没问题,原因是链接过长导致二维码图案过于密集,压缩会出现问题。
最后使用微博短链接工具,将链接转换为短链接,得以解决。