摘要:
一. 域说明 cron表达式由6或7个域组成 顺序(从左到右) 域 允许值 允许的特殊字符 1 秒(Seconds) 0~59的整数 , - * /(四个字符) 2 分(Minutes) 0~59的整数 , - * /(四个字符) 3 小时(Hours) 0~23的整数 , - * /(四个字符) 阅读全文
摘要:
一. grep 1. grep 命令 global search regular expression(RE) and print out the line grep --h 命令说明 grep -i 不区分大小写 grep -n 显示行号 grep -c 显示匹配的行数量 grep '^A' 以A 阅读全文
摘要:
一. 读写队列,是在路由时使用 在消息发送时,根据写队列个数返回路由信息,而消息消费时按照读队列个数返回路由信息。 二. 在物理文件层面,只有写队列才会创建文件 举个例子:写队列个数是8,设置的读队列个数是4. 这个时候,会创建8个文件夹,代表0 1 2 3 4 5 6 7,但在消息消费时,路由信息 阅读全文
摘要:
一. ll 1. 步骤 vim /root/.bashrc alias ll='ls -lh' source /root/.bashrc 2. 选项 -l 显示详细信息 -a 显示所有文件,包括隐藏文件 -i 显示inode -t 按时间排序,默认是文件名 -r 将排序结果反向输出 3. 显示容量单 阅读全文
摘要:
一. 获取硬盘容量信息 df -h 二. 获取目录占用硬盘容量大小 max-depth:目录深度 /root/ :目录路径 --max-depth=1 /root/:获取指定目录下一级文件夹/文件占用硬盘的容量大小 du -h --max-depth=1 /root/ 阅读全文
摘要:
一. 代码说明 二. 问题 三. 原因分析 四. 解决方案 一. 代码说明 M2方法的预期作用是根据id值(主键)加行锁,整个方法放在事务中执行 M1方法调用M2方法 public class C { public void M1() { this.M2(); } @Transactional pu 阅读全文
摘要:
一. 本文对Redis中[缓存穿透]、[缓存击穿]、[缓存雪崩]三种现象产生原因、解决方法进行说明 二. 缓存穿透 1. 原因 缓存不存在或已过期,请求直接打到数据库层 2. 解决方法 缓存永不失效 1. 通过设置无过期时间的缓存 2. 定时任务或异步线程定期更新缓存 3. 发现缓存即将过期时延长过 阅读全文
摘要:
什么是高并发 高并发指的是系统同时处理很多请求。 高并发是一个结果导向的东西,例如,常见的高并发场景有:淘宝的双11、春运时的抢票、微博大V的热点新闻等,这些典型场景并不是陡然出世,而是随着业务发展的发展而逐渐出现。像2020年淘宝双11全球狂欢季,订单创建峰值达到了惊人的58.3万笔/秒,4年前的 阅读全文
摘要:
一. 背景 表数据大概几十万,不到五十万 每隔10几分钟使用truncate清空数据,然后再写入等量数据 数据库主从结构 数据库版本5.7 二. 现象 执行truncate时从库偶发抛异常【System Lock】,非必现。占用线程资源,导致后续SQL语句全部阻塞 从库不可用,进而导致路由到该从库的 阅读全文
摘要:
一. 长事务原因 1. set autocommit=0 这个命令会关闭当前线程的事务自动提交功能 意味着如果只执行一个 select 语句,这个事务就启动了,并且不会自动提交。 这个事务持续存在直到主动执行 commit 或 rollback 语句,或者断开连接。如果是长连接,就导致了长事务。 有 阅读全文