1. 1 无处安放 汪峰
  2. 2 平凡之路 朴树
  3. 3 往后余生 马良
  4. 4 牧马城市 毛不易
无处安放 - 汪峰
00:00 / 00:00

词:汪峰

曲:汪峰

我闻到初春的味道

那如同儿时梦境新鲜的芬芳

也尝到思念的苦涩

这回望远方秋雨般无垠的萧索

心爱的人啊

多年以后是否还记得我的惦念

我的忧愁和挣扎

你知不知道

没有你我那颗叮叮当当的心啊

总是这样 这样无处安放

我去到来时的路上

还是那躺在公路尽头的月亮

电台里放着披头士

可那在我身旁熟睡的你在哪里

思念的人啊

人们常说时间会让爱变得淡忘

变得模糊和破碎

可你知不知道

没有你我那颗叮叮当当的心啊

总是这样 这样无处安放

回望这纷乱的生活

有太多人在我心底匆匆掠过

可当我想念的时候

却只有你让我静静地流下眼泪

心爱的人啊

时光飞逝我们终究要渐渐老去

渐渐恐惧和放弃

可你知不知道

没有你我那颗叮叮当当的心啊

终将这样 这样无处安放

终将这样 这样无处安放

Clay 的技术空间

用进废退 | 艺不压身

大纲

前言

为了在 C/C++ 项目中,提高 MySQL Server 的访问效率,基于 C++ 11 实现数据库连接池。

项目背景

为了提高 MySQL 数据库 (基于 C/S 设计) 的访问瓶颈,除了在服务器端增加缓存服务器缓存常用的数据之外(例如 Redis),还可以增加连接池,来提高 MySQL Server 的访问效率。在高并发情况下,大量的 TCP 三次握手、MySQL Server 连接认证、MySQL Server 关闭连接回收资源和 TCP 四次挥手所耗费的性能时间也是很明显的,增加连接池就是为了减少这一部分的性能损耗。在市场上比较流行的连接池包括 C3P0、Apache DBCP、HikariCP、阿里巴巴的 Druid 连接池,它们对于短时间内大量的数据库增删改查操作性能的提升是很明显的,但是它们有一个共同点就是,全部都是由 Java 实现的。

阅读全文 »

大纲

前言

本文将介绍在三台服务器上,手动部署 Kafka-Eagle(EFAK)的集群服务,实现对 Kafka 集群的管理和监控,适用于 CentOS/Debian/Ubuntu 等发行版。

官方资源

阅读全文 »

大纲

编译与链接原理

提示

强烈建议在阅读完本节的内容后,多花点时间深入读一遍《深入理解计算机系统 - 第三版》的第 7 章 "链接"。

编译命令

步骤命令
1. 预处理 gcc -E hello.c -o hello.i
2. 编译到汇编代码 gcc -S hello.i -o hello.s
3. 汇编到目标代码(机器语言)gcc -c hello.s -o hello.o
4. 链接,生成可执行文件 gcc hello.o -o hello
以上四个步骤,可以合成一个步骤,直接编译链接成可执行的目标文件 gcc hello.c -o hello
阅读全文 »

前言

本教程将使用 Docker 安装单机版的 Seata Server、Nacos、MySQL,并实现以下配置目标:

  • (1) 配置 Seata Server 使用 Nacos 作为注册中心
  • (2) 配置 Seata Server 使用 Nacos 作为配置中心
  • (3) 配置 Nacos 将配置信息存储(持久化)到 MySQL 中
  • (4) 基于 Nacos 配置中心,配置 Seata Server 使用 MySQL 数据库来存储全局事务会话信息
阅读全文 »

大纲

前言

本文将介绍在 SpringBoot 项目中,如何基于 Redis + Lua 脚本 + AOP + 反射 + 自定义注解自研分布式限流组件,且支持拔插式使用。由于篇幅有限,下面使用的是 Redis 单机服务,若是在生产环境,为了保证系统的可用性,建议部署 Redis 集群,并使用 Redisson 作为 Redis 的客户端,这里不再累述。

阅读全文 »

大纲

MySQL 锁的介绍

锁的类型

在 MySQL 中,锁机制可以用来解决事务并发问题。MySQL 的锁有以下几种类型:

  • 按锁的粒度可以分为:
    • 行锁:锁住某行数据,锁粒度最小,并发度高。开销大,加锁慢,会出现死锁。
    • 表锁:锁住整张表,锁粒度较大,并发度低。开销小,加锁快,不会出现死锁。
    • 间隙锁:锁住的是一个区间。
    • 全局锁:锁住整个数据库,锁粒度最大。
阅读全文 »

大纲

最左前缀原则的介绍

最左前缀原则指的是:使用组合索引(联合索引)时,查询条件需要从索引的最左列开始匹配,并且不跳过索引中的列。如果跳跃某一列,索引将会部分失效 (这一列后面的字段的索引会失效)。比如,针对 A、B、C 三个字段建立了一个组合索引,那么在写一个 SQL 时就一定要提供 A 字段的查询条件,这样才能让组合索引生效。这是由于在建立 A、B、C 三个字段的组合索引时,MySQL 底层的 B+ 树是按照 A、B、C 三个字段从左往右去比较大小进行排序的,也就是说 B+ 树的索引结构依赖于从左到右逐层递进地有序搜索路径。如果查询条件中缺少了最左边的列,B+ 树将无法确定初始的搜索路径,从而无法利用索引进行高效查询。

阅读全文 »

前言

Rsync 是一个增量备份工具,可压缩数据传输,速度快且增量备份,占用流量少。

准备工作

创建用户

1
2
3
4
5
# 创建用户组
# groupadd www

# 创建用户
# useradd -g www www -s /bin/false
阅读全文 »