MyBatis缓存机制 发表于 2019-05-18 | 分类于 MyBatis | 阅读次数: MyBatis缓存机制MyBatis是一个功能强大并且非常轻量的ORM框架,其中缓存机制也是其一大特性。MyBatis的缓存分为一级缓存与二级缓存。Mybatis的一级缓存,指的是SqlSession级别的缓存,默认开启;Mybatis的二级缓存,指的是SqlSessionFactory级别的缓存, ... 阅读全文 »
MySQL 分库分表策略 发表于 2019-05-14 | 分类于 MySQL | 阅读次数: MySQL 分库分表在使用关系型数据库过程中,随着用户数据不断增大,单表的数据达到1000W或100G以后,索引膨胀,单机的水平已经很难满足需求(存储容量、连接数、处理能力都有限),这个时候即时使用主从复制读写分离、优化查询、优化索引性能仍然达不到要求,此时就要考虑数据库的切分(Sharding), ... 阅读全文 »
MySQL、InnoDB与MVCC 发表于 2019-05-09 | 分类于 MySQL | 阅读次数: 多版本并发控制 多版本控制: 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行,这样大幅度提高了InnoDB的并发度。在内部实现中,与Postgres在数据行上实现多版本不同,InnoDB是在un ... 阅读全文 »
分布式系统一致性协议 发表于 2019-05-08 | 分类于 分布式 | 阅读次数: 分布式系统一致性协议2PC 与 3PC在分布式系统中,每一个机器节点虽然能够明确地知道自己在进行事务操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果。因此一个事务操作需要跨越多个分布式结点的时候,为了保持事务处理的ACID特性,就需要引入一个称为”协调者(Coordinato ... 阅读全文 »
Spring 事务管理 发表于 2019-05-07 | 分类于 Spring | 阅读次数: Spring 事务管理事务的回顾在 数据库原理 中已经了解到,事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。事务要么都执行,要么都不执行。事务有四种特性(ACID): 原子性(Atomicity)事务被视为不可分割的最小单元 ... 阅读全文 »
StringBuffer StringBuilder 源码分析 发表于 2019-05-05 | 分类于 JDK | 阅读次数: StringBuffer 和 StringBuilderStringBuffer 和 StringBuilder 与 String 不同,String的底层value数组以及String类都被final修饰,因此String新建后是不可修改并且不可被继承的。StringBuilder与StringB ... 阅读全文 »
String 源码分析 发表于 2019-05-04 | 分类于 JDK | 阅读次数: StringString 字符串是常量,其值在实例创建后就不能被修改 通过注释跟继承关系,我们知道String被final修饰,而且一旦创建就不能更改,并且实现了CharSequence,Comparable以及Serializable接口。 final: 修饰类:当用final修饰一个类时,表 ... 阅读全文 »
分布式系统 发表于 2019-05-02 | 分类于 分布式 | 阅读次数: 分布式与集中式集中式的特点所谓的集中式系统就是指有一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均有其集中处理。每个终端或客户端机器仅仅负责数据的录入和输出,而数据的存储与控制完全交给主机来完成。 很鲜明的特点就是部 ... 阅读全文 »
Redis 缓存 发表于 2019-05-02 | 分类于 Redis | 阅读次数: 缓存收益与成本收益 加速读写 降低后端负载成本 数据不一致 代码维护成本 运维成本 例如:Redis Cluster 缓存更新策略 LRU、LFU、FIFO 算法策略。例如 maxmemory-policy,这是最大内存的策略,当 maxmemory 最大时,会优先删除过期数据。我们在控制最大内存 ... 阅读全文 »
Redis Cluster 实现高可用 发表于 2019-04-16 | 分类于 Redis | 阅读次数: Redis ClusterRedis Cluster(集群)是 Redis 官方提供的分布式数据库方案(从 Redis 3.0 开始),集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。 Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 ... 阅读全文 »