find + xargs将当前目录下.bak 的文件,移动到临时/tmp 下面
find . -name "*.bak" | xargs -I '{}' mv {} /tmp
移动到/tmp 临时目录下,不要使用 rm -rf 命令防止误删,其中-I ‘{}’标识占位符
awk分隔字符串,排序
grep charles /home/zhangcheng.log | awk '{split($0,a,",");if (index(a
...
背景当前短地址发号使用 hbase 的 increament 指令, 每个转短请求都会做一次操作, 当 qps 超过 1k 时, 会造成 hbase 机器报警, 需要减少 hbase 的 increament 指令调用
方案修改为每个请求在本地取号, 当本地无号可取时请求 hbase 发号, 每次在 hbase 中调用 increament 时取 100 个号, 回到本地
具体代码流程
加全局锁, 所有转短请求在取号前通过全局锁串行
尝试本地取号, 如果不成功, 去 hbase 取号 100 个, 放入本地缓存
解锁, 并继续原有转短流程
待确认的点,全局锁是否需要公平 公平锁的性能是否满足
...
https://zhuanlan.zhihu.com/p/444448405
以下从 B+树深度简单模拟计算,有两个主要特征决定了 B 树(或 B+ 树)的深度。
数据库中的行数。我们将其称为 N。
索引键的大小。让我们称 B 为适合 B 树节点的键数。(有时 B 用于指代节点大小本身,而不是它持有的键数,但我希望这样看起来更直观。)
给定这些数量,B 树的深度是 log B 为下标 N。那只是 (log N )/log B。现在我们可以注意到小键意味着更大的 B,这会减少 (log N )/log B。如果我们将键的字节大小减半,那么 B 树的深度将从 (log
...
原文链接:https://www.percona.com/blog/2020/06/24/mysql-table-fragmentation-beware-of-bulk-insert-with-failure-or-rollback/
当心批量插入失败或者回滚时带来的 MySQL 表碎片,通常,DBA 都了解使用 DELETE 语句会产生表碎片。在大多数情况下,当执行大量的删除时,DBA 总会重新构建表以回收磁盘空间。但是,您是否认为只有删除才会导致表碎片?(答案:并不是)。在这篇博文中,我将解释插入如何会带来碎片。
在讨论这个主题之前,我们需要了解 MySQL,有两种碎片:
在表中的
...
https://cloud.tencent.com/developer/article/1488871https://zhuanlan.zhihu.com/p/40208895https://blog.csdn.net/u014532775/article/details/107018538https://www.jianshu.com/p/0ef46997c300
https://blog.csdn.net/fuzhongmin05/article/details/91351933redolog 和 undologhttps://www.cnblogs.com/f-ck-need-u/arc
...
原文链接:https://www.percona.com/blog/2017/04/10/innodb-page-merging-and-page-splitting/https://www.percona.com/blog/2020/06/24/mysql-table-fragmentation-beware-of-bulk-insert-with-failure-or-rollback/
如果您遇到了全球(为数不多的)MySQL 顾问之一并要求他/她审查您的查询和/或模式,我相信他/她会告诉您有关良好主键设计的重要性的一些信息. 特别是在 InnoDB 的情况
...
要彻底搞清楚 Spring 的生命周期,首先要把这四个阶段牢牢记住。实例化和属性赋值对应构造方法和setter 方法的注入,初始化和销毁是用户能自定义扩展的两个阶段。
实例化->Instantiation
属性赋值->Populate
初始化->Initialization
销毁->Destruction
实例化 -> 属性赋值 -> 初始化 -> 销毁
1、影响多个 Bean 的接口实现了这些接口的 Bean 会切入到多个 Bean 的生命周期中。正因为如此,这些接口的功能非常强大,Spring 内部扩展也经常使用这些接口,例如自动注入以及 AO
...
Spock 测试框架基于 Groovy 并吸收了 Junit、TestNG、Mockito 等测试框架的优点。 Spock 编写的单元测试层次清晰,代码量少,可读性好,Groovy 最终会编译为 class 文件,支持各种集成开发环境(eclipse,Intellij Ieda), 尤其是 Intellij idea 已经集成支持 Groovy 的插件,也支持 maven-surefire-plugin、jacoco 等 maven 插件。
Spock 官网,必读书籍《Java Testing with Spock》, 如要速成只需要阅读以下两篇文章
5 分钟入门 Groovy
一篇非常
...