8 风度玉门

尚未进行身份认证

人得先清心寡欲,方能高枕无忧。

等级
博文 161
排名 1w+

MySQL事务隔离原理

文章目录一致性视图工作原理更新操作可重复读和读已提交的区别首先来介绍一下MySQL里面的“视图”的概念。视图:查询语句定义的虚拟表,可以通过createview…来创建。一致性视图:InnoDB实现的,在MVCC中用到的,用于支持RC(ReadCommited,读提交)和RR(RepeatableRead,可重复读)隔离级别的实现。一致性视图工作...

2019-02-23 10:48:31

MySQL全局锁表锁&行锁

文章目录全局锁FTWRLmysqldumpsetglobalreadonly=true表级锁表锁MDL(metadatalock)行锁两阶段锁死锁在我们开发的过程中,使用全局锁和表锁的场景比较少,接触的也相对少一点,下面主要介绍一下。全局锁FTWRL全局锁就是对整个数据库实例加锁,MySQL提供了flushtableswithreadlock(FTWRL)的方式...

2019-02-23 10:41:39

MySQL索引结构

文章目录常见索引类型Hash索引B+索引InnoDB的索引结构主键索引和普通索引的区别索引维护主键ID自增覆盖索引联合索引索引下推数据库的索引就像一本书的目录一样,它可以快速定位你所需要的信息。下面来详细说一下MySQL的索引结构。常见索引类型Hash索引Hash索引的底层实现是由Hash表来实现的,非常适合以key-value的形式查询,也就是单个key查询,或者说是等值查询。其结...

2019-02-23 10:31:49

MySQL事务隔离级别

文章目录事务隔离级别事务隔离的实现谈到事务最先想到的就是ACID属性(Atomicity原子性、Consistency一致性、Isolation隔离性、Durability持久性),今天主要介绍一下MySQL的隔离属性。事务隔离级别SQL标准里定义的隔离级别有以下4种:读未提交:一个事务可以读取到,另外一个事务尚未提交的变更。读已提交:一个事务提交后,其变更才会被...

2019-02-23 10:24:06

MySQL日志系统

文章目录redologbinlog总结当我们在MySQL客户端执行更改数据库的操作时,就会牵扯到日志系统了。如我们使用最多的存储引擎InnoDB而言,里面就会用到:redolog(重做日志)和binlog(归档日志)。下面主要介绍一下这两种日志的区别与联系:redolog在MySQL里,如果我们要执行一条更新语句。执行完成之后,数据不会立马写入磁盘,因为这样对磁盘IO的开销比较大。...

2019-02-23 10:18:44

MySQL架构设计

文章目录连接器查询缓存分析器优化器执行器MySQL用了好多年了,但是对于大部分开发人员来说,还是停留在使用上面。接下来的数篇文章将记录一下,MySQL原理的实现原理。首先看一下MySQL的架构图,如下所示:从上面的示意图可以看出,MySQL从上到下包含了:客户端、Server层和存储引擎层。对于客户端实现,可以是我们常用的MySQL命令行窗口,或者是Java的客户端程序等等,这里不做过多的...

2019-02-23 10:12:16

Netflix-Zuul 原理分析

文章目录核心模块ZuulServletZuulRunnerFilterProcessorRequestContext过滤器加载模块FilterFileManagerFilterLoader过滤器管理模块ZuulFilterDAOZuulFilterPoller定制开发的建议目前网上大多数关于Zuul的相关讨论大都是Spring-Cloud-Zuul相关的,但是笔者认为SpringCloud...

2018-09-28 23:58:11

Java8 List removeIf用法技巧

文章目录字符串切割使用List.removeIfAPI剔除元素问题解决我们在写业务代码时,经常需要截取字符串转成List,然后再通过一个自定义的规则去删减元素。通常使用的是String.split(",")的这种方式来切割字符串,然后再用Arrays.asList(T...)的方式创建List。然后再去处理List里面的内容。下面介绍一下1.8里面存在的坑。字符串切割通常我们会使用A...

2018-09-28 23:47:39

Spring Boot Security跨域访问 cors

文章目录未使用Security的Boot项目使用Security的情况使用Security开启允许iframe嵌套使用SpringSecurity在Boot项目中,实现前后端分离的跨域访问,只需要简单的配置即可。未使用Security的Boot项目在未使用SpringSecurity的Boot项目中,只需要在Application.java中添加如下代码即可@Be...

2018-09-28 23:40:02

CacheCloud搭建(Redis云平台)

下载源代码启动Server1、初始化MySQL数据库2、启动(本地)登录系统Redis机器环境初始化普通用户注册应用申请客户端连接在中小型互联网公司里面,对于运维使用的监控系统不是很完善。今天介绍一下CacheCloud,是搜狐视频开源的Redis云平台。可以对Redis官方提供的3种部署模式(Standalone、Sentinel、Cluster)...

2018-08-24 09:10:19

Redis Cluster流程原理

拓扑结构配置的一致性1、配置信息数据结构2、信息交互3、一致性的达成sharding1、数据分片(slot)2、客户端的路由3、分片的迁移failover1、failover的状态变迁2、故障发现3、故障确认4、slave选举5、结构变更通知可用性和性能1、RedisCluster的读写分离2、master单点保护Redis3.0之...

2018-08-11 19:54:54

分布式Redis故障转移(sentinel)

sentinel的相互感知三个定时任务master的故障发现sentinelLeader选举故障转移failoverslave晋升的规则总结当2台以上Redis实例形成了主备关系,他们组成的集群就具备了一定的高可用:当master故障时,slave可以成为新的master,对外提供读写服务,这种运行机制称为failover。那么谁去发现master的故障,并做...

2018-08-11 19:21:36

分布式Redis主备复制

主备复制流程断点续传当数据落在不同节点上时,如何保证数据节点之间的一致性是非常关键的。Redis采用主备复制的方式保证一致性,所有节点中,只有一个节点为主节点(master),它对外提供写服务,然后异步的将数据复制到其他节点上。主备复制流程Redis包含master和slave2种节点:master对外提供写服务;slave节点作为master的数据备份,不可...

2018-08-11 19:06:18

Redis持久化详解(RDB&AOF)

全量模式的持久化(RDB)1、写入流程2、恢复流程增量模式的持久化(AOF)1、写入流程2、回放流程AOF模式的优化重写Redis对外提供数据访问服务时,使用的是常驻内存的数据。为了在RedisServer重启之后数据还可以得到恢复,Redis具备将数据持久化到硬盘中的能力。全量模式的持久化(RDB)RedisServer在多有db中存储的k...

2018-08-05 19:18:44

Redis客户端与服务端交互详解

Redis协议网络模型序列化协议inlinecommandsimplestringbulkstringerrorintegerarrayC/S两端使用的协议数据类型请求/响应模式串行化实现pipeline实现事务模式1、入队/执行分离的事务原子性2、事务的一致性3、事务的只读操作4、乐观锁的可串行化事务隔离5、事务实现6、事务交互模式...

2018-07-31 23:15:09

Redis数据结构详解

valueObject通用结构string基本操作内存结构SDS结构buf的扩容与缩容字节串与字符串SDS编码的优化使用场景List基本操作内存结构linkedlist实现ziplist实现Map基本操作内存结构HashTable实现Hash表扩容ziplist实现Set基本操作内存结构intsetSorte...

2018-07-28 11:28:42

Spring Security缓存请求详解

请求流程代码实现ExceptionTranslationFilterAbstractAuthenticationProcessingFilter我们在Java开发中,可能会经常使用到SpringSecurity来实现系统的权限控制。在企业级应用中,也有可能会使用SpringSecurity集成CAS来实现单点登录和权限控制。当然一些独立的系统(如人事管理系统等),也有...

2018-07-22 13:13:37

CentOS7安装MySQL5.7

下载Mysqlyum包安转软件源安装MySQL服务端启动MySQL检查运行状态修改临时密码获取临时密码登录并修改密码修改密码授权远程机器登录下载Mysqlyum包官方下载地址为:http://dev.mysql.com/downloads/repo/yum/wgethttp://repo.mysql.com/mysql57-commu...

2018-07-17 10:47:21

IDEA配置Tomcat8远程调试

Tomcat8开启Debug端口1、修改catalina.sh2、修改start.sh3、防火墙开启9901端口/关闭防火墙IDEA配置添加Tomcat配置填写IP端口如果要用Eclipse或者IDEA远程Debug到测试服务器上面,首先需要开启Tomcat的调试端口。从原生的Tomcat来看,每个版本都有所不同,下面主要介绍一下Tomcat8的配置。T...

2018-07-17 10:43:06

分布式多级缓存

基本概念缓存数据的方式是否过期不过期缓存过期缓存细粒度缓存大Value缓存热点缓存基本概念所谓分布式多级缓存,就是指在整个系统的不同层级进行数据的缓存,以提升系统的访问速度。通常情况下,分布式系统的访问流程如下所示:接入层Nginx将请求负载均衡到应用层Nginx,常用的负载均衡算法是轮询/一致性哈希。轮询可以是请求更加的平均,一致性哈希可以...

2018-07-17 10:38:42
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!