自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (1)
  • 收藏
  • 关注

原创 拿捏了!ConcurrentHashMap!

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点概述本文将对JDK8中 ConcurrentHashMap 源码进行一定程度的解读。解读主要分为六个部分:主要属性与相关内部类介绍、构造函数、put过程、扩容过程、size过程、get过程、与JDK7实现的简单对比。希望对读者学习ConcurrentHashM

2020-09-03 16:28:27 615

原创 Redis中Srting类型的底层实现-SDS

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点1、什么是SDS?sds是c中的一个数据结构,如下:struct sdshdr{ //buf数组中已使用的字节数,即字符串长度 int len; //buf数组未使用的字节数 int free; //存储字节的数组

2020-09-02 21:04:04 622

原创 什么是分布式锁?为什么要用分布式锁?

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个的顺序执行,否则会出现并发问题。如何控制呢?就是设置一个各个线程

2020-09-01 20:36:29 2873 2

原创 SpringBoot 整合 MyCat 实现读写分离

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点MyCat一个彻底开源的,面向企业应用开发的大数据库集群。基于阿里开源的Cobar产品而研发。能满足数据库数据大量存储;提高了查询性能。文章介绍如何实现MyCat连接MySQL实现主从分离,并集成SpringBoot实现读写分离。MySQL配置主从关系说明

2020-08-31 16:14:25 381

原创 JSON 字符串是如何被解析的?JsonParser 了解一下

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点版本约定Jackson 版本:2.11.0Spring Framework 版本:5.2.6.RELEASESpring Boot 版本:2.3.0.RELEASE小贴士:截止到本文,本系列前面所有示例都只仅仅导入jackson-core而已,后续

2020-08-28 11:19:07 333

原创 Mybatis接口Mapper内的方法为啥不能重载?我懵了

作者:祖大俊来源:my.oschina.net/zudajun/blog/666223动态代理的功能:通过拦截器方法回调,对目标target方法进行增强。言外之意就是为了增强目标target方法。上面这句话没错,但也不要认为它就是真理,殊不知,动态代理还有投鞭断流的霸权,连目标target都不要的科幻模式。注:本文默认认为,读者对动态代理的原理是理解的,如果不明白target的含义,难以看懂本篇文章,建议先理解动态代理。1. 自定义JDK动态代理之投鞭断流实现自动映射器Mapper首先定义一.

2020-08-25 18:04:38 623 1

原创 神奇的 SQL,为什么 GROUP BY 之后不能直接引用原表中的列,原来是这样!

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点GROUP BY 后 SELECT 列的限制标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。我们来看个例子我们有 学生班级表(tb

2020-08-24 10:59:52 182

原创 四面支付宝:容器+线程池+HashMap+红黑树+算法+分布式架构

蚂蚁花呗一面(一个小时):Java容器有哪些?哪些是同步容器,哪些是并发容器?线程池的工作原理,几个重要参数?给了具体几个参数,分析线程池会怎么做?ArrayList和LinkedList的插入和访问的时间复杂度?HashMap push方法的执行过程?java反射原理, 注解原理?说说一致性 Hash 原理HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?1.8还采用了红黑树,讲讲红黑..

2020-08-21 15:53:26 549 1

原创 谈谈设计模式:建造者模式在jdk中的体现,它和工厂模式区别?

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点背景建造模式(Builder模式)假如有一个需求:盖房子,盖房子过程是一致的:打桩、砌墙、封顶。但是房子是各式各样的,最后盖出来的房子可能是高楼或别墅。根据直接的思路,不用设计模式思想,我们也许会:写一个 CommonHouse 抽象类,然后里面规定了

2020-08-21 14:48:28 157

原创 老板:要是还继续再用Log4j,你就收拾东西回家吧!

之前一段时间,为我们发现的一个SaaS应用程序会间歇性地卡顿、变慢,因为很长时间都没有定位到原因,所以解决的办法就只能是重启。这个现象和之前我们遇到的程序变得卡顿不太一样,因为我们发现**这个应用程序不仅在高流量期间时会变慢,有时在低流量时期也会变慢。**所以这令大家都很奇怪。这类应用程序的变慢,重新启动之后就可以维持一段时间,但是过段时间又有可能会再次出现。故障排除当我们准备排查这个问题的时候,我们在应用程序速度很慢的时候,尝试着捕获了这个应用程序的线程Dump。有很多种方式来捕...

2020-08-19 16:00:46 316

原创 总结多线程与设计模式+synchronized+性能+高吞吐+死锁+线程安全

Java线程Java语言的线程何谓线程线程启动线程的暂时停止线程的共享互斥线程的协调线程的状态转移跟线程有关的其他话题多线程程序的评量标准安全性生存性复用性性能评量标准的总结SingleThreaded Execution模式,能通过这座桥的,只有一个人非线程安全的Gate类UserThread类线程安全的Gate类synchronized生存性与死锁可复用性和继承反常临界区的大小和性能其他相关设计模式原子操作Immutable模式

2020-08-18 17:18:25 257

原创 简直无敌!火遍全网的“多线程核心技术”(金九银十突击版),他来了

进程和线程的提出极大的提高了操作提供的性能。进程让操作系统的并发性成为了可能,而线程让进程的内部并发成为了可能。多进程的方式也可以实现并发,为什么我们要使用多线程?多进程方式确实可以实现并发,但使用多线程,有以下几个好处:进程间的通信比较复杂,而线程间的通信比较简单,通常情况下,我们需要使用共享资源,这些资源在线程间的通信比较容易。进程是重量级的,而线程是轻量级的,故多线程方式的系统开销更小。由此可见多线程的学习对程序员来说是至关重要的,这也是为什么不论是大大小小的公司面试官都会问到的问题。金

2020-08-14 21:51:16 120

原创 从一道面试题说起:GET 请求能传图片吗?

前言忘了在哪里看到的这个题目,觉得挺有意思,来说下我的答案及思考过程。首先,我们要知道的是,图片一般有两种传输方式:base64 和 file 对象。base64 图片图片的base64编码想必大家都见过:base64 的本质是字符串,而 GET 请求的参数在 url 里面,所以直接把图的 base64 数据放到 url 里面,就可以实现 GET 请求传图片。input 输入框拿到的图是 file 对象,图片 file 对象转 base64 :// img参数: file文件或者blobc

2020-08-13 17:12:23 753

原创 666!Alibaba内部传出的面试神技,秋招offer尽收囊中

2019 已经够难的了,2020 开局就遇上了新型冠状病毒,就更难了。相信不少人都有这样的感叹。因为疫情的影响,各家公司的春招事项一再延后,2020年互联网市场全都受到了疫情影响,存在人才发展跟不上市场的需求的现状,相对应的给优秀Java人才开出的薪资待遇随之水涨船高。最近很多小伙伴找我要一些金九银十的面试资料,今天,它来了!下面的资料是以图片展示,篇幅原因只能出示一小部分,需要完整版的超清笔记的,可以帮忙点个赞,快速入手通道:(点这里)下载!,就可以拿到完整版的了!资料也按目录进行编排,每一章

2020-08-11 17:33:34 130

原创 关于线程池的五种实现方式,七大参数,四种拒绝策略

1 池化技术之线程池什么是池化技术?简单来说就是优化资源的使用,我准备好了一些资源,有人要用就到我这里拿,用完了就还给我。而一个比较重要的的实现就是线程池。那么线程池用到了池化技术有什么好处呢?降低资源的消耗提高响应的速度方便管理也就是 线程复用、可以控制最大并发数、管理线程2 线程池的五种实现方式其实线程池我更愿意说成四种封装实现方式,一种原始实现方式。这四种封装的实现方式都是依赖于最原始的的实现方式。所以这里我们先介绍四种封装的实现方式2.1 newSingleThreadExecu

2020-08-08 21:47:31 1223

原创 面试时被问到MySQL怎么递归查询,我当场就懵了

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点前言最近在做的业务场景涉及到了数据库的递归查询。我们公司用的 Oracle ,众所周知,Oracle 自带有递归查询的功能,所以实现起来特别简单。但是,我记得 MySQL 是没有递归查询功能的,那 MySQL 中应该怎么实现呢?于是,就有了这篇文章。文章

2020-08-07 20:50:43 140

原创 揭秘JMM、Synchronized、Volatile之间的关系

Volatile可以说是我们Java虚拟机给我们提供的一个轻量级的同步机制,与Synchronized类似,但是却没有它那么强大。关于Volatile最主要的特点呢就是它的三大特性:保证可见性不保证原子性禁止指令重排而要了解Volatile的话,我们就需要有JMM的基础,所以我们要介绍JMM的相关知识。1 初步了解JMM1.1 什么是JMM呢?JMM是Java内存模型的缩写(Java Memory Model),是一种逻辑的东西,物理上不存在的。可以说是一种概念或者约定。比如关于约定有以下

2020-08-07 15:05:57 362

原创 强势来袭!Spring进阶思路精髓,打破你对Java框架的一切认知!

Spring简介Spring它是一个框架,轻量级javaEE这个概念,也是由Spring框架衍生出来的Spring 甚至没有太多新东西,它只是提取了javaEE应用中的常用代码,将其抽象成为了框架Spring 创始人 :Rod Johnson,他的专业不是计算机,而是音乐学,但他也是一个计算机博士Spring的框架里充满了各种设计模式,spring框架的用法,源码设计更是一套丰富的java大餐Spring的组成如上是Spring的七个模块,每个模块都是独立存在,模块与模块可以相互组合使用

2020-08-03 15:54:23 350

原创 半吊子架构师,一来就想用Kafka取代RabbitMQ?

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差

2020-07-23 14:32:25 1350

原创 超牛的MySQL索引知识点详解,不用再去找别的了

数据库索引,相信大家都不陌生吧。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。作为辅助查询的工具,合理的设计索引能很大程度上减轻db的查询压力,db我们都知道,是项目最核心也是最薄弱的地方,如果压力太大很容易产生故障,造成难以预计的影响。所以,不管是日常开发还是面试,索引这一块知识体系都是必须掌握的。当然,虽说是必须掌握,但索引的知识点很多,很多初学者经常会遗漏,这也是我为什么想写这篇知识点总结的原因,既是给读者的分享,也是给自己一次全面的复习,希望对你们.

2020-07-21 11:35:46 185

原创 二面腾讯挂在了堆排序!时隔半年再次挑战“南山必胜客”!

今天,再战了一次腾讯。这次的面试总的来说面的挺开心的,面试官人很好,知道了自己的许多不足。话不多说,先说说面试前的准备吧。前期准备面试前一天,我首先将自己之前写过的博客从线程池开始往后全部都回顾了一遍,重点看了类加载部分。最近真的压力巨大,很多事情堆在一起,公司,学习,面试等等,让我并没有想花太多心思准备(心累~)。面试当天,急急忙忙把堆排序看了一遍(毕竟上一次面试就挂在堆排序了),然后吃了又看了看二叉树,就开始面试了。我重点的内容准备如下:计算机网络:HTTP协议,HTTPS协议,TCP建立

2020-07-20 14:15:03 271 1

原创 SpringCloud微服务详解: Redis 高可用集群

前言一般的小项目,比如几百人左右访问的项目,访问量几万的项目,如果想用缓存,单机实例完全够用。小黄图就是用的阿里云256MB配置的Redis缓存,日几千的访问量是妥妥够用的了。Redis号称可以支撑10w+qps,当然这也给机器配置有一定的关系,如果单实例满足不了需求,想追求更高的性能和稳定性,可以选择主从、哨兵已经更好的解决方案Redis-Cluster 集群。架构集群部署如题,我们这里直接使用 Redis-Cluster 高可用集群。Redis-Cluster集群采用无中心结构,它的特点如下.

2020-07-13 15:55:38 582

原创 Redis的主从复制的流程和原理是怎样的?复制过程中也会产生各种问题?

如果Redis的读写请求量很大,那么单个实例很有可能承担不了这么大的请求量,如何提高Redis的性能呢?你也许已经想到了,可以部署多个副本节点,业务采用读写分离的方式,把读请求分担到多个副本节点上,提高访问性能。要实现读写分离,就必须部署多个副本,每个副本需要实时同步主节点的数据。Redis也提供了完善的主从复制机制,使用非常简单的命令,就可以构建一个多副本节点的集群。同时,当主节点故障宕机时,我们可以把一个副本节点提升为主节点,提高Redis的可用性。可见,对于故障恢复,也依赖Redis的主从复制,它

2020-07-11 20:34:38 283

原创 记一次小事故解决方案:Spring Redis开启事务支持错误用法,导致服务不可用

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点1.事故背景在APP访问服务器接口时需要从redis中获取token进行校验,服务器上线后发现一开始可以正常访问,但只要短时间内请求量增长服务则无法响应2.排查流程(1)使用top指令查看CPU资源占用还远远达不到瓶颈,排查因为CPU资源不足导致服务不可用

2020-06-29 15:25:21 305

原创 面试高频:Mysql和Redis数据同步该怎么做?

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点为什么对缓存只删除不更新不更新缓存是防止并发更新导致的数据不一致。所以为了降低数据不一致的概率,不应该更新缓存,而是直接将其删除,然后等待下次发生cache miss时再把数据库中的数据同步到缓存。先更新数据库还是先删除缓存?有两个选择:1. 先删除

2020-06-26 20:59:51 453

原创 缓存领域大师之作:Redis精品设计出炉,果断收藏!

很多人受限于公司规模,没有用过Redis!但是面试大中型互联网公司,Redis是个绕不过去的坎。以下这些Redis相关的面试题,你看是不是很眼熟!Redis支持的数据类型?什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?Redis 有哪些架构模式?讲讲各自的特点Redis主从是怎么选取的redis插槽的分配?Redis主节点宕机了怎么办,还有没有同步的数据怎么办?Redis集群的话数据分片怎么分,然后就是如果并发很高,几十万并发,可以做哪些优化?怎么保证redis和db

2020-06-24 16:02:03 210

原创 动手造轮子:实现一个简单的 AOP 框架

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点最近实现了一个 AOP 框架 – FluentAspects,API 基本稳定了,写篇文章分享一下这个 AOP 框架的设计。整体设计概览IProxyTypeFactory用来生成代理类型,默认提供了基于 Emit 动态代理的实现,基于接口设计,可以扩展

2020-06-22 14:45:42 206

原创 秒杀系统Java设计攻略,一看就明白!

推荐阅读:不服不行!Github即将爆火的《高并发秒杀顶级教程》,先睹为快我总结了72份面试题,累计3170页,斩获了30+互联网公司offer(含BATJM)2020首战告捷,这份Java面试神技Plus版,让我成功拿到了阿里、京东、字节跳动等大厂offer前言:秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀,那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题:一:秒

2020-06-18 15:54:25 374

原创 ES能为你解决什么问题,又会带来什么问题?

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点业务需求痛点业务增长,查询条件越来越多,索引越来越多业务发展初期,数据量不多。查询,写入都很快。随着业务的发展,数据量增大,出现慢查询,开始往表里不断的加索引,保证数据查询效率。但是当数据量继续增大,业务查询越来越复杂。程序员天天想着这个表怎么加索引。索

2020-06-14 20:48:32 803

原创 携程开源的分布式apollo技术整合springboot集成实现动态刷新配置

推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点分布式apollo简介Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。本文主要介绍如何使用apollo与springboot实现动态刷

2020-06-10 14:46:40 275

原创 由一次安全扫描引发的思考:如何保障 API 接口的安全性?

推荐阅读:GitHub超高Star!超过40K+的Java面试文档,吃透60%定级阿里P7最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点太狠了!谷歌大牛手写的Spring核心面试笔记:IOC+AOP+MVC+事务引言前段时间,公司对运行的系统进行了一次安全扫描,使用的工具是 IBM 公司提供的 AppScan 。这个正所谓不扫不要紧,一扫吓一跳,结果就扫出来这么个问题。我们的一个年老失修的内部系统,在登录的时候,被扫描出来安全隐患,具体学名是啥记不清了,大致

2020-06-04 17:19:43 291

原创 从MySQL优化的角度来看:数据库回表与索引

回表的概念先得出结论,根据下面的实验。如果我要获得[‘liu’,‘25’]这条记录。需要什么步骤。1.先通过[‘liu’]记录对应到普通索引index(name),获取到主键id:4.2.再通过clustered index,定位到行记录。也就是上面说的这条[‘liu’,‘25’]记录数据。因此,上述就是说的回表查询,先定位主键值,再定位行记录。多扫了一遍索引树。当然,也就多耗费了CPU,IO,内存等。1.stu_info表案例create table stu_info ( id int

2020-05-27 17:27:50 238

原创 给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引

MySQL的InnoDB索引数据结构是B+树,主键索引叶子节点的值存储的就是MySQL的数据行,普通索引的叶子节点的值存储的是主键值,这是了解聚簇索引和非聚簇索引的前提什么是聚簇索引?很简单记住一句话:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以主键就是聚簇索引,修改聚簇索引其实就是修改主键。什么是非聚簇索引?索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚簇索引也叫做辅助索引。clustered index(MySQL官

2020-05-22 17:57:03 218 1

原创 7000字分布式事务入门到进阶学习笔记指南

文章目录前言1.事务基本概念1.1什么是事务?1.2事务经典场景1.2.1原子性1.2.2一致性1.2.3隔离性1.2.4持久性1.3 事务原理与锁1.3.1 锁的问题场景:1.3.2 事务的问题场景:1.3.3 事务的实现(了解即可):2.分布式事务2.1分布式事务概念2.1.1 分布式事务产生的原因2.1.2 CAP 理论2.1.3 BASE 理论2.2基于 XA 协议的两阶段提交2.3 3 PC 事务2.3.1第一个阶段: CanCommit2.3.2第二阶段:precommit2.3.3第三阶段:d

2020-05-14 20:38:57 282

原创 使用Hystrix的插件机制,解决在使用线程隔离时,threadlocal的传递问题

背景在我们的项目中,比较广泛地使用了ThreadLocal,比如,在filter层,根据token,取到用户信息后,就会放到一个ThreadLocal变量中;在后续的业务处理中,就会直接从当前线程,来获取该ThreadLocal变量,然后获取到其中的用户信息,非常的方便。但是,hystrix 这个组件一旦引入的话,如果使用线程隔离的方式,我们的业务逻辑就被分成了两部分,如下:public class SimpleHystrixCommand extends HystrixCommand<Stri

2020-05-13 20:42:12 237

原创 从单体到分布式,必须解决的四个问题

一般来说,为了应对高并发和高可用,应用服务器都会由单体向分布式演变。而从单体到分布式,通常会遇到四个问题必须要去解决。一,session共享首先第一个要解决的就是sesison共享的问题,如下图。通常有两种解决方案,第1种是配置nginx的负载集群策略为ip_hash,第2种是将session存储到其它地方,一般推荐放到redis中。第1种方案适合于临时解决或者是为了兼容历史项目,但是从应用服务器无状态的角度考虑,推荐把用户会话session放到redis,如下图。二,本地缓存如果使用本地缓

2020-05-10 21:36:18 494

原创 面试题:Redis的应用场景核心设计,看完面试不在慌!

分布式缓存是分布式系统中的重要组件,主要解决高并发、大数据场景下,热点数据访问的性能问题,提供高性能的数据快速访问。使用缓存常见场景是:项目中部分数据访问比较频繁,对下游 DB(例如 MySQL)造成服务压力,这时候可以使用缓存来提高效率。下面来讲BAT等一线企业中Redis各种应用场景核心设计!一、常用指令接下来看看每个数据结构常用的指令有哪些,我们用一张表比较清晰的展示:...

2020-03-10 20:50:14 4078

原创 分布式事务专题(四):分布式事务解决方案之TCC

目录:基础概念 分布式事务理论 分布式事务解决方案之2pc 分布式事务解决方案之TCC(本章) 分布式事务解决方案之可靠消息最终一致性 分布式事务解决方案之最大努力通知 分布式事务综合案例分析4.分布式事务解决方案之TCC4.1.什么是TCC事务TCC是Try、Confifirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Conf...

2020-01-03 17:58:54 863

原创 分布式事务专题(三):分布式事务解决方案之2PC(两阶段提交)

目录:基础概念 分布式事务理论 分布式事务解决方案之2pc(本章) 分布式事务解决方案之TCC 分布式事务解决方案之可靠消息最终一致性 分布式事务解决方案之最大努力通知 分布式事务综合案例分析3.分布式事务解决方案之2PC(两阶段提交)前面已经学习了分布式事务的基础理论,以理论为基础,针对C、TCC、可靠消息最终一致性、最大努力通知这几种。3.1.什么是2PC2PC即...

2020-01-03 17:55:05 457

原创 分布式事务专题(二):分布式事务基础理论

目录:基础概念 分布式事务理论(本章) 分布式事务解决方案之2pc 分布式事务解决方案之TCC 分布式事务解决方案之可靠消息最终一致性 分布式事务解决方案之最大努力通知 分布式事务综合案例分析分布式事务基础理论通过前面的学习,我们了解到了分布式事务的基础概念。与本地事务不同的是,分布式系统之所以叫分布式,是因 为提供服务的各个节点分布在不同机器上,相互之间通过网络交互。不能因...

2020-01-03 17:53:23 222

Redis知识点核心笔记整理.xmind

平时学习Redis整理的笔记资料做成的Xmind文件,这个笔记不仅对复习Redis应付面试还是如何学习Redis都有详细整理,里面还有很多每个知识点的视频链接讲解,希望对有需要的朋友起到一些帮助!

2020-01-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除