缓存穿透 缓存穿透是指缓存服务器和数据库中都没有符合条件的数据,例如查找id<0的用户,由于该类用户不存在所以缓存中没有对应数据,每次请求进来都会从数据库中进行一次查...
![240](https://upload.jianshu.io/users/upload_avatars/18740153/39e9690a-984f-4d6f-88d7-74e1d2454b5b.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
缓存穿透 缓存穿透是指缓存服务器和数据库中都没有符合条件的数据,例如查找id<0的用户,由于该类用户不存在所以缓存中没有对应数据,每次请求进来都会从数据库中进行一次查...
Redis是一个读写性能十分优异的非关系型数据库,常用来做缓存中间件;在实际使用过程中,为了避免由于Redis宕机或故障导致数据丢失,如何进行Redis的持久化是一个...
Redis事务的概念 Redis事务的本质是一系列命令的集合。事务支持一次执行多个命令,一个事务中所有的命令都会被序列化。在事务的执行过程中,会按照顺序串行化执行队列中的命令...
前言 Spring同时支持编程事务策略和声明式事务策略,通常都推荐采用声明式事务策略。使用声明式事务策略的优势十分明显。1.声明式事务能大大降低开发者的代码书写量,通过在类或...
本文以安装Nginx为例介绍Docker容器的创建和运行 1.搜索nginx docker search nginx 2.pull镜像到本地 docker pull ngin...
前言 首先,我们要对代理(Proxy)是什么有一个准确的认识,代理是一种设计模式,通俗的说,就是为目标对象提供一个代理对象,并由代理对象控制对目标对象的引用。其目的有两个:一...
一、什么是幂等性 本文一至五部分是关于幂等性的概念介绍,实现方案在第六部分,基于防重Token令牌方案代码在第七部分。幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时...
前言 binlog即二进制日志 Binary Log,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日...
二维码是什么 二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code...
在开发过程中,为了调试及后期维护过程快速排错都会记录请求的入参以及返回值,比较常用的方式是借助日志生成器通过硬编码的方式记录日志,代码不够简洁、优雅。因此,可以借助AOP来实...
在调用第三方系统以及服务内调用的场景下,由于网络波动、响应超时等原因会导致接口调用失败,这时就需要进行失败重试,本文基于AOP实现实现一种较简单的接口调用失败重试方案。 自定...
文件上传是Web项目的一个基本功能,一般的,是通过上传文件的后缀名进行格式校验,但是由于文件的后缀是可以手动更改的,后缀名校验不是一种严格有效的文件校验方式。如果想要对上传文...
前言 表单提交是web项目的基础功能,用户点击提交/保存按钮后,即会将提交的数据保存到服务端,使服务端对应的数据发生变更。用户在操作时,可能对一份表单数据在短时间内进行多次重...
前言 缓存是web项目不可或缺的一部分,通过缓存能够降低服务器数据库压力,提高服务器的稳定性及响应速度。 spring cache spring cache是spring框架...
前言 在实现业务代码时,根据业务场景会抽象出类似于状态、阶段等枚举类。依据枚举值表示特定阶段,定义枚举值时,一般会定义code和value两个属性,用code表示枚举的标识,...
前言 Jackson 是用来序列化和反序列化 json 的 Java 的开源框架。Spring MVC 的默认 json 解析器便是 Jackson。与其他 Java 的 j...
前言 最近在开发公司的短信模板功能,简单的说,就是创建一些包含占位符的短信模板,在发送短信时将这些占位符使用特定值替换后再发出,例如短信模板中的公司名称占位符是{compan...