240 发简信
IP属地:上海
  • SpringBoot项目防重复提交

    前言 表单提交是web项目的基础功能,用户点击提交/保存按钮后,即会将提交的数据保存到服务端,使服务端对应的数据发生变更。用户在操作时,可能对一份表单数据在短时间内进行多次重...

  • RESTful接口的CSRF防御

    关于RESTful标准服务是否需要方法跨站请求攻击,网上有很多讨论,总结下来核心的关键点在于是否使用了cookie,而就目前而言,REST标准下的服务接口,即便API做到了无...

  • 240
    适配器模式-文件服务

    前言 适配器模式是把一个类的接口变换成客户端所期待的另一中接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。用电器做例子,笔记本电脑的插头一般都是三相的,即...

  • maven-resources-plugin插件的使用

    前言 上个月做了一个根据协议模板签署协议的功能,事先把协议模板(pdf文件)放在当前项目的resource目录下,打成jar运行后,在签署协议时,从classpath下读取模...

  • validation自定义校验注解

    前言 javax.validation 是基于JSR-303标准提供的参数校验规范,使用注解方式实现对参数的校验,极其方便。比较常用的参数校验注解有: @Null 被注解的元...

  • 延时队列-基于Redisson实现的延时队列

    前言 定时调度基本是每个项目都会遇到的业务场景,一般地,都会通过任务调度工具执行定时任务完成,定时任务有两点缺陷,一、定时任务执行频度限制,实际执行的时间可能会晚于理想的设定...

  • 缓存穿透、缓存击穿、缓存雪崩

    缓存穿透 缓存穿透是指缓存服务器和数据库中都没有符合条件的数据,例如查找id<0的用户,由于该类用户不存在所以缓存中没有对应数据,每次请求进来都会从数据库中进行一次查...

  • 240
    Redis持久化

    Redis是一个读写性能十分优异的非关系型数据库,常用来做缓存中间件;在实际使用过程中,为了避免由于Redis宕机或故障导致数据丢失,如何进行Redis的持久化是一个...

  • 240
    Redis事务

    Redis事务的概念 Redis事务的本质是一系列命令的集合。事务支持一次执行多个命令,一个事务中所有的命令都会被序列化。在事务的执行过程中,会按照顺序串行化执行队列中的命令...