diff --git a/docs/database/MySQL.md b/docs/database/MySQL.md index e4b98208..8e74cb89 100644 --- a/docs/database/MySQL.md +++ b/docs/database/MySQL.md @@ -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 主键如何处理? diff --git a/docs/database/Redis/redis-collection/Redis(1)——5种基本数据结构.md b/docs/database/Redis/redis-collection/Redis(1)——5种基本数据结构.md index 2acd7df4..a42332f6 100644 --- a/docs/database/Redis/redis-collection/Redis(1)——5种基本数据结构.md +++ b/docs/database/Redis/redis-collection/Redis(1)——5种基本数据结构.md @@ -188,10 +188,10 @@ OK (nil) ``` -等价于 `SET` + `EXPIRE` 的 `SETNX` 命令: +等价于 `SET` + `EXPIRE` 的 `SETEX` 命令: ```console -> SETNX key value1 +> SETEX key 5 value1 ... # 等待 5s 后获取 > GET key (nil) @@ -210,8 +210,8 @@ OK ```console > SET counter 100 -> INCR count -(interger) 101 +> INCR counter +(integer) 101 > INCRBY counter 50 (integer) 151 ``` diff --git a/docs/java/java-naming-conventions.md b/docs/java/java-naming-conventions.md index 82661d31..d205f5f5 100644 --- a/docs/java/java-naming-conventions.md +++ b/docs/java/java-naming-conventions.md @@ -348,7 +348,7 @@ javadoc注解中,每个类都必须有注解。 #### c. 属性注解 -在每个属性前面必须加上属性注释,通常有一下两种形式,至于怎么选择,你高兴就好,不过一个项目中要保持统一。 +在每个属性前面必须加上属性注释,通常有以下两种形式,至于怎么选择,你高兴就好,不过一个项目中要保持统一。 ```java /** 提示信息 */ @@ -386,7 +386,7 @@ private String password; */ ``` -而简单注解往往是需要工程师字节定义,在使用注解时应该注意一下几点: +而简单注解往往是需要工程师字节定义,在使用注解时应该注意以下几点: 1. 枚举类的各个属性值都要使用注解,枚举可以理解为是常量,通常不会发生改变,通常会被在多个地方引用,对枚举的修改和添加属性通常会带来很大的影响。 2. 保持排版整洁,不要使用行尾注释;双斜杠和星号之后要用1个空格分隔。