• Redis持久化问题定位与优化技巧

    今天主要分享继Redis持久化方式RDB、AOF之后的一些常用的Redis问题定位于优化方式。这里主要CPU、内存、磁盘在三个维度去分析问题! Fork操作当Redis做RDB或AOF重写时,一个必不可少的操作就是执行fork操作创建子进程,对于大多数操作系统来说fork是个重量级操作虽然fork创建的子进程不需要拷贝父进程的物理内存空间,但是会复制父进程的空间内存页表。例如对...

    Redis 2020年12月08日 1797 0
  • Elasticsearch6.5中文文档-引入查询语言

    Elasticsearch提供了一种JSON样式的可用于执行查询的特定领域语言。被称为DSL查询。这种查询语言非常全面,乍一看可能令人生畏,但实际学习查询的最佳方法是从一些基础示例开始。回到上一个示例,我们执行了以下查询:GET /bank/_search { "query": { "match_all": {} } }剖析以上内容,query部分告诉我们查询定义是什么,m...

    Lucene 2020年12月08日 2042 0
  • 什么是悲观锁和乐观锁?

    思维导图文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary悲观锁悲观锁是平时开发中经常用到的一种锁,比如ReentrantLock和synchronized等就是这种思想的体现,它总是假设别的线程在拿线程的时候都会修改数据,所以每次拿到数据的时候都会上锁,这样别的线程想拿这个数据就会被阻塞。如图所示...

    Java 2020年12月08日 1517 0
  • 运用拦截器与注解,在SpringBoot中实现自定义权限认证

    权限的认证框架很多,比如Shiro与SpringSecurity。今天使用拦截器与注解的方式,实现一个自定义的权限认证。目前,系统中需要两种角色,分别是平台管理员与普通用户,他们各自拥有不同的权限。在真正开始他们的操作之前,系统要求先登录。(1)第一次登陆系统后,之后利用Cookie与Session来标识用户。先写好Cookie与Session的工具类备用CookieUtil...

    Java 2020年12月08日 1817 0
  • HttpClient的两种重试机制

    本文基于 HttpClient 4.5.13使用 http 请求外部服务时,由于网络或者服务本身的不稳定性,经常需要重试。重试当然可以通过手撸代码实现,但更好的方式是通过现有的机制去实现。 HttpClient 中支持两种重试:异常重试。服务不可用重试。异常重试HttpClient 执行时会抛出两种异常:java.io.IOException ClientProtocolExc...

    C# 2020年12月08日 3172 0
  • 搞懂Java本地事务和分布式事务

    什么是事务事务的概述是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);事务的特性事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。原子性(atomicity):事务是一个不可分割的工作单位,事务中包括的诸操作要么都做...

    Java 2020年12月08日 3239 0
  • Springboot过滤器和拦截器详解及使用场景

    一、过滤器和拦截器的区别1、过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。2、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,在拦截器里注入一个service,可以调用业务逻辑。而过...

    Java 2020年12月08日 1556 0
  • 大牛教大家如何用SpringBoot技术快速实现天气预报系统

    从一个天气预报系统讲起本节通过Spring Boot技术快速实现一个天气预报系统。通过这个系统,一方面可以了解Spring Boot的全面用法,为后续创建微服务应用打下基础;另一方面,该系统会作为本节进行微服务架构改造的非常好的起点。下面以前面创建的hello-world应用作为基础进行改造,成为新的应用micro-weather-basic。开发环境为了演示本例,需要采用如下...

    Java 2020年12月08日 1476 0