Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/database/MySQL.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI

池化设计应该不是一个新名词。我们常见的如java线程池、jdbc连接池、redis连接池等就是这类设计的代表实现。这种设计会初始预设资源,解决的问题就是抵消每次获取资源的消耗,如创建线程的开销,获取远程连接的开销等。就好比你去食堂打饭,打饭的大妈会先把饭盛好几份放那里,你来了就直接拿着饭盒加菜即可,不用再临时又盛饭又打菜,效率就高了。除了初始化资源,池化设计还包括如下这些特征:池子的初始值、池子的活跃值、池子的最大值等,这些特征可以直接映射到java线程池和数据库连接池的成员属性中。这篇文章对[池化设计思想](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485679&idx=1&sn=57dbca8c9ad49e1f3968ecff04a4f735&chksm=cea24724f9d5ce3212292fac291234a760c99c0960b5430d714269efe33554730b5f71208582&token=1141994790&lang=zh_CN#rd)介绍的还不错,直接复制过来,避免重复造轮子了。

数据库连接本质就是一个 socket 的连接。数据库服务端还要维护一些缓存和用户权限信息之类的 所以占用了一些内存。我们可以把数据库连接池是看做是维护的数据库连接的缓存,以便将来需要对数据库的请求时可以重用这些连接。为每个用户打开和维护数据库连接,尤其是对动态数据库驱动的网站应用程序的请求,既昂贵又浪费资源。**在连接池中,创建连接后,将其放置在池中,并再次使用它,因此不必建立新的连接。如果使用了所有连接,则会建立一个新连接并将其添加到池中。 **连接池还减少了用户必须等待建立与数据库的连接的时间。
数据库连接本质就是一个 socket 的连接。数据库服务端还要维护一些缓存和用户权限信息之类的 所以占用了一些内存。我们可以把数据库连接池是看做是维护的数据库连接的缓存,以便将来需要对数据库的请求时可以重用这些连接。为每个用户打开和维护数据库连接,尤其是对动态数据库驱动的网站应用程序的请求,既昂贵又浪费资源。**在连接池中,创建连接后,将其放置在池中,并再次使用它,因此不必建立新的连接。如果使用了所有连接,则会建立一个新连接并将其添加到池中**。 连接池还减少了用户必须等待建立与数据库的连接的时间。

### 分库分表之后,id 主键如何处理?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,10 +188,10 @@ OK
(nil)
```

等价于 `SET` + `EXPIRE` 的 `SETNX` 命令:
等价于 `SET` + `EXPIRE` 的 `SETEX` 命令:

```console
> SETNX key value1
> SETEX key 5 value1
... # 等待 5s 后获取
> GET key
(nil)
Expand All @@ -210,8 +210,8 @@ OK

```console
> SET counter 100
> INCR count
(interger) 101
> INCR counter
(integer) 101
> INCRBY counter 50
(integer) 151
```
Expand Down
4 changes: 2 additions & 2 deletions docs/java/java-naming-conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ javadoc注解中,每个类都必须有注解。

#### c. 属性注解

在每个属性前面必须加上属性注释,通常有一下两种形式,至于怎么选择,你高兴就好,不过一个项目中要保持统一。
在每个属性前面必须加上属性注释,通常有以下两种形式,至于怎么选择,你高兴就好,不过一个项目中要保持统一。

```java
/** 提示信息 */
Expand Down Expand Up @@ -386,7 +386,7 @@ private String password;
*/
```

而简单注解往往是需要工程师字节定义,在使用注解时应该注意一下几点
而简单注解往往是需要工程师字节定义,在使用注解时应该注意以下几点

1. 枚举类的各个属性值都要使用注解,枚举可以理解为是常量,通常不会发生改变,通常会被在多个地方引用,对枚举的修改和添加属性通常会带来很大的影响。
2. 保持排版整洁,不要使用行尾注释;双斜杠和星号之后要用1个空格分隔。
Expand Down