- 博客(4)
- 收藏
- 关注
原创 **Mysql 的 innoDB 存储引擎是怎么实现数据持久化的?二**
上一篇写了 Buffer Pool,Buffer Pool 确实是能提升读写效率。不过内存中的数据一断电就消失了,并不是真的持久化了。 这时候就需要 redo log 来保证数据的持久化。也就是 ACID 中的 D 属性。 问题 redo log 是怎么保证数据持久化的呢? 为什么不直接持久化数据,而要持久化 redo log? checkpoint 第一个问题,简单来讲就是每次 update、insert、detele 语句,在 Buffer Pool 中修改的同时,会在 redo log 中写一条记录
2020-07-06 21:02:01 251
原创 Mysql的innoDB存储引擎是怎么实现数据持久化的?一
Mysql的innoDB存储引擎是怎么实现数据持久化的?一 面试官:数据库的ACID属性了解吗? xx:就是原子性、一致性、隔离性、持久性。 面试官:就没了?那你知道Mysql的innoDB存储引擎是怎么实现 D属性 持久性的呢? xx:这个是通过redo log保证。 面试官:(又没了?)那你回去等通知吧。 可能前两年的面试回答这个问题,用redo log回答已经可以了,不过现在的要求越来越高,显然搪塞不过去了。要想了解这个问题,首先要知道Buffer Pool。 问题 什么是Buffer Pool?
2020-07-04 12:09:10 600
原创 Redis的内存回收机制,以及LRU算法
从Redis说起,再说一下LRU算法Maxmemory配置指令回收策略LRU算法下面用JAVA代码简单实现下。回到上面留的问题,为什么要用双向链表? 说起Redis大家都不陌生,而JAVA程序员面试的时候,Redis也基本是必问的点之一。 Redis作为一款开源的nsql数据库,由于自身的高性能,一般在企业内会被作为缓存使用,像我之前的公司短信验证码缓存就用Redis实现。当新增数据时,让Redis自动地回收旧数据是件很方便的事情。LRU是Redis唯一支持的回收方法,Redis的maxmemory指令用于
2020-07-02 09:59:18 378
原创 Java compiler level does not match the version 以及 xxx cannot be resolved
新进一个项目组,从svn、Git上拉下来的代码,经常会遇到eclipse报Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet.错误。这是由于eclipse的jdk版本和项目所使用的jdk版本不一致所造成。...
2019-03-12 20:06:10 208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人