Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
021b1f3
Update Java内存区域.md
liukun2634 Aug 1, 2021
64b247e
更新计算机网络中三次握手详情图
yamonc Aug 4, 2021
b9a3736
Merge pull request #1303 from kaka2634/master
Snailclimb Aug 4, 2021
03d0075
Merge pull request #1307 from yamonc/master
Snailclimb Aug 4, 2021
9876181
Update 计算机网络.md
Snailclimb Aug 4, 2021
d8784d1
Update Java并发进阶常见面试题总结.md
liukun2634 Aug 4, 2021
b7fbeda
Merge pull request #1308 from kaka2634/master
Snailclimb Aug 5, 2021
e8d1e14
Update 计算机网络.md
Snailclimb Aug 5, 2021
fb8eef2
Update Java基础知识.md
Snailclimb Aug 5, 2021
62bef0f
Update 事务隔离级别(图文详解).md
Snailclimb Aug 5, 2021
203fa5d
Update java线程池学习总结.md
liukun2634 Aug 5, 2021
4fa8a50
fix: 同步线程池原理分析 from java线程学习总结.md
liukun2634 Aug 5, 2021
30f8fad
补充MySQL查询缓存内容,修改部分错别字问题。
yamonc Aug 6, 2021
485242c
更新mysql.md,添加数据范式
yamonc Aug 6, 2021
c6d832c
更新文件:doc/system-design/frameword/spring/SpringInterviewQuestions.md :…
yamonc Aug 7, 2021
cb33610
更新spring事务:添加管理事务的方式、事务传播方式思维导图
yamonc Aug 7, 2021
7e47430
Merge pull request #1309 from kaka2634/master
Snailclimb Aug 7, 2021
a1342f7
更新
yamonc Aug 7, 2021
3e91372
aop 持久化描述更改
Snailclimb Aug 7, 2021
ab0874f
Update 类加载器.md
Snailclimb Aug 7, 2021
95d5aee
修改MySQL查询缓存内容
yamonc Aug 7, 2021
7e7fb89
Merge branch 'Snailclimb:master' into master
yamonc Aug 7, 2021
013b8a0
添加序号,阅读记忆更方便
yamonc Aug 8, 2021
9811751
Merge pull request #1310 from yamonc/master
Snailclimb Aug 8, 2021
c1705c3
添加 数据库基础知识
Snailclimb Aug 8, 2021
b24ab64
Update Spring常见问题总结.md
Snailclimb Aug 8, 2021
7cc919c
Update MySQL总结.md
Snailclimb Aug 8, 2021
9b9123c
Spring 常见问题总结
Snailclimb Aug 9, 2021
452fc49
Update Spring常见问题总结.md
Snailclimb Aug 9, 2021
ae93644
fix mistake: Location should be Locator
Coiggahou2002 Aug 10, 2021
08fd4ac
Update 分布式id生成方案总结.md
Silverados Aug 10, 2021
170e0af
Update 分布式id生成方案总结.md
Silverados Aug 10, 2021
d96ba4e
Update InnoDB对MVCC的实现.md
Snailclimb Aug 10, 2021
c05b4be
Update README.md
Snailclimb Aug 10, 2021
9cfd3c3
Merge pull request #1312 from Coiggahou2002/cccjh
Snailclimb Aug 10, 2021
edb48a0
Merge pull request #1315 from Silverados/patch-8
Snailclimb Aug 10, 2021
e995dee
Merge pull request #1314 from Silverados/patch-7
Snailclimb Aug 10, 2021
0c147b8
Update limit-request.md
Snailclimb Aug 10, 2021
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
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,18 +137,19 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle

**总结:**

1. **[MySQL知识点总结](docs/database/MySQL.md)** (必看 :+1:)
2. [阿里巴巴开发手册数据库部分的一些最佳实践](docs/database/阿里巴巴开发手册数据库部分的一些最佳实践.md)
3. [一千行 MySQL 学习笔记](docs/database/一千行MySQL命令.md)
4. [MySQL 高性能优化规范建议](docs/database/MySQL高性能优化规范建议.md)
1. [数据库基础知识总结](docs/database/数据库基础知识.md)
2. **[MySQL知识点总结](docs/database/mysql/MySQL总结.md)** (必看 :+1:)
3. [阿里巴巴开发手册数据库部分的一些最佳实践](docs/database/mysql/阿里巴巴开发手册数据库部分的一些最佳实践.md)
4. [一千行 MySQL 学习笔记](docs/database/mysql/一千行MySQL学习笔记.md)
5. [MySQL 高性能优化规范建议](docs/database/mysql/MySQL高性能优化规范建议.md)

**重要知识点:**

1. [MySQL数据库索引总结](docs/database/MySQL数据库索引.md)
2. [事务隔离级别(图文详解)](<docs/database/事务隔离级别(图文详解).md>)
3. [一条 SQL 语句在 MySQL 中如何执行的](docs/database/一条sql语句在mysql中如何执行的.md)
4. [关于数据库中如何存储时间的一点思考](docs/database/关于数据库存储时间的一点思考.md)
5. [InnoDB存储引擎对MVCC的实现](docs/database/InnoDB对MVCC的实现.md)
1. [MySQL数据库索引总结](docs/database/mysql/MySQL数据库索引.md)
2. [事务隔离级别(图文详解)](docs/database/mysql/事务隔离级别(图文详解).md)
3. [InnoDB存储引擎对MVCC的实现](docs/database/mysql/InnoDB对MVCC的实现.md)
4. [一条 SQL 语句在 MySQL 中如何执行的](docs/database/mysql/一条sql语句在mysql中如何执行的.md)
5. [关于数据库中如何存储时间的一点思考](docs/database/mysql/关于数据库存储时间的一点思考.md)

### Redis

Expand Down
10 changes: 8 additions & 2 deletions docs/database/Redis/redis-all.md
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,9 @@ save 60 10000 #在60秒(1分钟)之后,如果至少有10000个key发生
appendonly yes
```

开启 AOF 持久化后每执行一条会更改 Redis 中的数据的命令,Redis 就会将该命令写入硬盘中的 AOF 文件。AOF 文件的保存位置和 RDB 文件的位置相同,都是通过 dir 参数设置的,默认的文件名是 appendonly.aof。
开启 AOF 持久化后每执行一条会更改 Redis 中的数据的命令,Redis 就会将该命令写入到内存缓存 `server.aof_buf` 中,然后再根据 `appendfsync` 配置来决定何时将其同步到硬盘中的 AOF 文件。

AOF 文件的保存位置和 RDB 文件的位置相同,都是通过 dir 参数设置的,默认的文件名是 `appendonly.aof`。

在 Redis 的配置文件中存在三种不同的 AOF 持久化方式,它们分别是:

Expand All @@ -605,7 +607,7 @@ appendfsync everysec #每秒钟同步一次,显示地将多个写命令同步
appendfsync no #让操作系统决定何时进行同步
```

为了兼顾数据和写入性能,用户可以考虑 appendfsync everysec 选项 ,让 Redis 每秒同步一次 AOF 文件,Redis 性能几乎没受到任何影响。而且这样即使出现系统崩溃,用户最多只会丢失一秒之内产生的数据。当硬盘忙于执行写入操作的时候,Redis 还会优雅的放慢自己的速度以便适应硬盘的最大写入速度。
为了兼顾数据和写入性能,用户可以考虑 `appendfsync everysec` 选项 ,让 Redis 每秒同步一次 AOF 文件,Redis 性能几乎没受到任何影响。而且这样即使出现系统崩溃,用户最多只会丢失一秒之内产生的数据。当硬盘忙于执行写入操作的时候,Redis 还会优雅的放慢自己的速度以便适应硬盘的最大写入速度。

**相关 issue** :[783:Redis 的 AOF 方式](https://github.com/Snailclimb/JavaGuide/issues/783)

Expand All @@ -615,6 +617,10 @@ Redis 4.0 开始支持 RDB 和 AOF 的混合持久化(默认关闭,可以通

如果把混合持久化打开,AOF 重写的时候就直接把 RDB 的内容写到 AOF 文件开头。这样做的好处是可以结合 RDB 和 AOF 的优点, 快速加载同时避免丢失过多的数据。当然缺点也是有的, AOF 里面的 RDB 部分是压缩格式不再是 AOF 格式,可读性较差。

官方文档地址:https://redis.io/topics/persistence

![](https://cdn.jsdelivr.net/gh/javaguide-tech/image-host-github-stars-01@main/webfunny_monitor/image-20210807145107290.png)

**补充内容:AOF 重写**

AOF 重写可以产生一个新的 AOF 文件,这个新的 AOF 文件和原有的 AOF 文件所保存的数据库状态一样,但体积更小。
Expand Down
Loading