前言 本地缓存和业务请求在同一台机器上,相对于Redis读写速度非常快,对于一些变更频率低、实时性要求低的数据,可以放在本地缓存中,提升访问速度。 使用本地缓存能够减少和R...
前言 本地缓存和业务请求在同一台机器上,相对于Redis读写速度非常快,对于一些变更频率低、实时性要求低的数据,可以放在本地缓存中,提升访问速度。 使用本地缓存能够减少和R...
GitChat课程《领域驱动设计--战略篇》笔记,课程作者张逸 一.理解限界上下文 1.限界上下文的定义 限界上下文:Bounded Context1)上下文(Context...
前言 Srping自动装配非常实用,我们可以利用这个把项目解耦合,真正使用的只需引入即可使用。今天我们来演示下自动装配,利用自动装配,实现web拦截器,解析request中的...
介绍 gateway是Spring Cloud家族中功能强大的网关服务,除了做请求路由之外,还有做到定制化的请求过滤、鉴权等功能,是Spring生态圈基于Java实现的;做为...
前言 市面上分库分表的工具有很多,大致分为两种: 一种是在代码层面实现的分库分表,典型的像Sharding-JDBC; 另一种是基于代理实现的,比如:MyCat、Shardi...
简述 大家都知道Redis是单线程的内存数据库,数据存储在内存中,且使用的是单线程模型,因此速度极快;今天我们就来从源码的角度分析下Redis的单线程模型;首先,我们这里使用...
简述 看源码之前,当然先看工具的配置文件。Redis配置文件是英文注释,读起来晦涩难懂。那么今天就先来翻译以下Redis的配置文件。 redis.conf
场景 在日常开发过程中,大家经常使用到的spring事务管理,保证更新和新增要么全部成功,要么全部失败;但是在某些场景中,需要保证执行的sql在同一条事务中,使用mysql自...
概述 在Mac下安装RabbitMQ还是比较简单的,但是RabbitMQ是基于Erlang的,所以在安装RabbitMQ之前,需要先查看本机是否安装了Erlang,还有Rab...
概述 Tomcat做为开源的轻量级的应用服务器,而且源码使用Java语言编写,在大多数商业环境中得到广泛应用,那么我们就可以下载研习一下源码。 源码下载 我们这里演示经典的t...
概述 UDP协议与TCP协议不同,UDP属于不可靠协议,UDP在使用Socket之前不需要进行连接(三次握手)。Java中通过DatagramPacket和DatagramS...
简述 大家经常会遇到这样的场景,比如订单15分钟内支付,超时未支付则需要取消订单,这种取消订单的任务只会执行一次。常规的做法有使用定时任务轮训订单列表,但是假设没有正在支付的...
概述 在开发中经常用到的mysql数据库,mysql作为开源的数据库有很多优越的地方;大家可以不了解其中的原理,但是一定需要具备排查问题的基本功,例如死锁问题。 死锁的产生 ...
概述 Java解析HTTP请求,话不多说上代码: 总结 其实http协议,就是特定格式的网络数据包,我们只需要根据不同的场景拼接出特定的格式,就可以完成一次http请求。不过...
简述 热搜排行榜在很多网站上都可以看到,例如:百度热搜、微博热搜、快手抖音热搜等等;那么这个热搜排行榜一般是如何实现的呢?首先我们可以知道这种热搜排行榜会在网站或者app的首...
简述 大家在开发工作中经常使用的key-value的数据结构,像Java中有HashMap,线程安全的ConcurrentHashMap,在Redis中hash结构更是最基础...
命令实现 首先我们看下redis普通的set命令,如下图: 我们可以看到,set命令后面出了key和value之外,还可以选择EX或PX还有NX和XX,这分别代表什么意思呢,...
分库分表场景下如何选择主键 数据库本身有自己的自增id,但在分库分表场景下,则无法保证主键的唯一,这时就需要可以替代的东西;常见的分布式id生成方案有:UUID、Redis的...