epimetheusQ

上帝如风,无所不触

缓存雪崩,穿透理解

缓存异常处理缓存雪崩由于原有缓存失效,新缓存未设置成功期间(例如我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重会造成数据库宕机,从而形成一系列连锁反应,造成整个系统崩溃。 缓存失效时的雪崩效应对底层系统的冲击非常可怕,大多数系统设计者考虑加锁或者队列的方式保证来不会有大量的线程对数据库一......

kafka命令

kafka命令相关kafka命令行执行流程1.开启zookeeper 2.开启kafka 3.若监视某队列,可以使用kafka-console命令 kafka本机命令执行地址/usr/local/cellar/kafka/2.1.0/libexec zookeeper本机命令执行地址/usr/local/cellar/zookeeper/3.4.13/libexec kafka日期存储地址/......

myisam和Innodb的区别

MyISAM只支持表级锁InnoDB支持事务和行级锁 MyISAM会保存表的总行数。Innodb不会保存表的总行数。如果使用sql count取值,innodb会遍历整个表。当加入where条件是两种类型处理模式一致。 MyISAM支持全文索引,Innodb不支持。 什么是事务?1.原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间的某个环节。事务在执行中发生错误,会......

信号

信号关于php的declare语句中的tick的解释什么是declaredeclare是php的流程控制结构,directive目前支持两个指令(ticks和encoding),ticks的使用配合register_tick_function()(当然还有unregister_tick_function())使用。declare结构用来设定一段代码的执行指令。declare的语法和其它流程控......

项目启动脚本开发

12345678910111213141516#! /bin/bashCODE_DIR=/home/wwwroot/ai_gmall_server# 更新代码cd $CODE_DIRgit checkout .git pull origincomposer install --optimize-autoloader\cp envs/qa/.env .envphp artisan config......

nginx快捷命令

查看php进程最后一次启动时间...

phpstrom快捷键

选中一些代码,进行前进一个tab,或者退后一个tab 前进一个tab直接tab后退一个tabshift + tab``` ...

php脚本加速

我们在执行php脚本时,如果存在上百万甚至上千万数据,单线程执行肯定时间很长,所以需要通过其他一些额外手段来进行为脚本加加速。 当我们使用php原生的脚本进行跑数据时,如果只开单个脚本,也就是一条线程,那么一百万条数据就需要执行100W次,如果我们通过某些参数进行加速,那么开10条线,就每一条脚本只需要耗费1/10的时间。 php原生包含两个参数,$argv 和 $argc.创建一个a.ph......

sql扫盲计划

sql分组,获取某个字段的最后一个值,或者第一个值,或者其中某个值查找订单下,最后一个批次。 12345678910111213SELECT order_sn, SUBSTRING_INDEX(GROUP_CONCAT(`batch_sn` ORDER BY `id` DESC SEPARATOR '|'), '|', 1) AS bat......

isset、empty、is_null用法

isset 一般用来检测变量是否设置isset($a); 若$a 没有定义(var_dump时会报notice),返回false,或者 变量中的某个key没有setisset(null); 返回 false 若变量不存在,如: 12345678$a['c'] = 1;isset($a['b']); // 返回false// --------------......