
后端
文章平均质量分 85
LangForOne
奔三的小全栈,现任某互联网科技公司研究院开发工程师,前端后端皆有探究,不断提高,無限進步。文章多数为分享在工作开发项目中遇到的问题和一些思路经验,以及可有可无的心得分享
展开
-
RedisTemplate中使用scan方法代替keys指令
demo写到这步已经可以用了,注意传参的String pattern是要带*号的,比如我想查user_info:1、user_info:2等等数据,则匹配user_info:前缀(redis的key最好用枚举类+定义常量),此时传参的pattern即为"Keys会引发Redis锁(数据过多一直查询处理),并且增加Redis的CPU占用。但此demo会有一个问题:没法移动cursor,也只能scan一次,并且容易导致redis链接报错。当需要扫描key,匹配出自己需要的key时,可以使用 scan 命令。原创 2023-11-30 21:59:16 · 2647 阅读 · 0 评论 -
SpringCloud Alibaba组件入门全方面汇总(下):服务网关-Gateway、链路追踪-Sleuth&Zipkin、配置中心-Nacos Config
Sleuth是Spring Cloud的一部分,专门为微服务架构中的调用链路跟踪提供了解决方案。在复杂的微服务架构系统中,每一个前端请求都会形成一个复杂的分布式服务调用链路,而Sleuth可以帮助清晰地记录这个调用链路。Zipkin是一款开源的分布式系统跟踪工具,它可以帮助我们准确的定位问题并解决它们。Zipkin的设计思想是将应用程序中的请求跟踪和分析组织起来,以便于在分布式系统中发现延迟问题。它使用的是Google的Dapper论文中提到的Trace思想来实现分布式追踪。原创 2023-11-16 15:23:49 · 250 阅读 · 0 评论 -
SpringCloud Alibaba组件入门全方面汇总(中):服务熔断降级-Sentinel
Sentinel 可以通过自定义异常和 @SentinelResource 注解来提供更加灵活的保护机制。首先,Sentinel 允许用户自定义异常处理类,通过继承 BlockException 类并重写其中的方法,可以定制异常处理逻辑。同时,在定义资源时,可以使用 @SentinelResource 注解来指定异常处理类,以便在发生异常时执行自定义的异常处理逻辑。FlowException 限流异常DegradeException 降级异常ParamFlowException 参数限流异常。原创 2023-11-14 23:23:35 · 428 阅读 · 0 评论 -
SpringCloud Alibaba组件入门全方面汇总(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign
例如,如果服务器A的权重值为2,服务器B的权重值为1,那么在轮询过程中,服务器A被选择的概率是2/3,服务器B被选择的概率是1/3。在概念上,Feign是一种轻量级的RESTful的HTTP服务客户端,它以Java接口注解的方式调用Http请求,类似于Dubbo,服务消费者拿到服务提供者的接口,然后像调用本地接口方法一样去调用,实际发出的是远程的请求。在原理上,Nacos通过注册中心实现服务的注册与发现,通过配置管理模块实现配置的动态获取和更新,通过服务管理模块实现服务的元数据管理和流量管理。原创 2023-11-13 23:26:45 · 1017 阅读 · 0 评论 -
Java中对date数据做加减时间运算——Calendar类
在日常开发中,我们经常会遇到需要对日期进行加减操作的场景,比如在某个时间点上加上指定的小时数。本文将介绍如何使用JAVA的Date类来实现对日期加小时的操作,并提供具体的步骤和代码示例。原创 2023-11-06 22:00:23 · 1922 阅读 · 0 评论 -
activiti的核心对象与API与对应操作的表与核心字段
获取方式:对应的表:act_re_deployment用于存储流程部署的相关信息。该表记录了每个流程部署的唯一标识符(ID)、名称(NAME)、类别(CATEGORY)、租户标识符(TENANT_ID)、键(KEY)以及部署时间(DEPLOY_TIME)等信息。核心字段:获取方式:.deploymentId(“流程部署id”).processDefinitionId(“流程定义id”).processDefinitionKey(“流程定义的key”)原创 2023-11-03 00:21:46 · 736 阅读 · 0 评论 -
用大白话聊聊SpringBoot的自动配置原理(面试题详解)
首先,自动配置是Auto-Configuration,针对的是SpringBoot中的配置类,而自动装配是Autowire,针对的是Spring中的依赖注入。原创 2023-10-30 22:08:52 · 561 阅读 · 0 评论 -
SpringBoot内置工具类之断言Assert的使用与部分解析
断言是一个判断逻辑,用来检查不该发生的情况;断言的判定规则:2.1.值为true时,程序从断言语句处继续执行;2.2.值为false时,程序从断言语句处抛出异常,停止执行;2.3.早在JDK的1.4版本已经引入断言assert,通过命令-enableassertions开启,通过命令-disableassertions关闭;不加参数,全局生效;加了参数,只在某个类中使用;具体可通过java help命令查看;原创 2023-10-28 22:59:14 · 2673 阅读 · 5 评论 -
maven之父子工程&版本控制&案例实战,及拓展groupId和artifactId的含义
用于父子工程项目,什么是父子工程?顾名思义,maven父子项目是一个有一个父项目,父项目下面又有很多子项目的maven工程,当然,子项目下面还可以添加子项目,从而形成一个树形的结构。那么,这么做有什么好处呢?有以下两点:父工程package 需要指定pom子工程需要声明parent,否则无法使用父pom的依赖导入依赖和dependencyManagement 一起出现,指定的版本优先级更高,通常出现在父pom通常parent用于做结构管理,声明子工程继承父工程的A依赖B C继承BA = B的依赖 +原创 2023-10-28 22:45:24 · 1891 阅读 · 0 评论 -
Maven入门与开箱即用
Maven 翻译为“知识的积累”,“专家”,“行家”,是一个跨平台的项目管理工具;Maven 主要用作基于 Java 平台的项目(Maven 本身也是 Java 编写的)的构建、依赖包管理和项目信息管理;Maven 能提供一种项目的配置,配置好的项目,只需要运行一条简单的命令,就能完成重复的,繁琐的构建动作;Maven 能提供一种项目的依赖配置,配置好的项目,Maven 能自动的从 Maven 的中央仓库中帮我们下载并管理项目依赖的 jar 包。原创 2023-10-28 22:02:14 · 672 阅读 · 0 评论 -
redis的bitmap(面试题,待补充)
如果我们需要记录某一用户在一年中每天是否有登录我们的系统这一需求该如何完成呢?如果使用KV存储,每个用户需要记录365个,当用户量上亿时,这所需要的存储空间是惊人的。Redis 为我们提供了位图这一数据结构,每个用户每天的登录记录只占据一位,365天就是365位,仅仅需要46字节就可存储,极大地节约了存储空间。位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已(二进制位数组)。一看就懂 详解redis的bitmap(面试加分项)原创 2023-10-28 09:20:12 · 269 阅读 · 0 评论 -
简单聊下Redis的主从复制和哨兵机制以及集群(面试题)
在之前的哨兵当中,一旦Main挂掉了,就势必会导致一段时间内的数据写不进去了,当并发量很大的时候这势必是一个比较大的问题集群就说为了解决这个问题而诞生的。由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。Redis集群是一个提供在多个Redis节点间共享数据的程序集Redis集群可以支持多个Master。原创 2023-10-25 19:45:24 · 506 阅读 · 0 评论 -
redis的key超时策略和key淘汰机制(面试题详解)
他会去遍历16个库,遍历每一个库,对这个库进行抽样,抽样之后,判断抽样出来的key,是否超过1/4的key是否处于过期状态,如果说,这些抽样出来的key里边的没有超过1/4的key过期,此时他先清理完抽样出来过期的数据之后,再去遍历下一个库。惰性删除不是去主动删除,而是在你要获取某个key 的时候,redis会先去检测一下这个key是否已经过期,如果没有过期则返回给你,如果已经过期了,则删除,返回null。在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作。原创 2023-10-23 20:36:16 · 1196 阅读 · 0 评论 -
Redis的持久化策略:RDB与AOF(面试题详解)
RDB和AOF持久化的由来?因为Redis中的数据是基于内存的,所以如果出现服务器断电或者服务器宕机,那么Redis中存放的数据就会直接丢失。RDB和AOF就是针对Redis提供的两种持久化机制,可以将Redis中的数据持久化到磁盘中。当Redis实例故障重启后,就可以根据备份的文件来进行数据的恢复RDB全称Redis Database Backup file,也被叫做Redis数据快照,简单来说就是把内存中所有的数据都记录在磁盘中,当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。原创 2023-10-23 20:04:18 · 509 阅读 · 0 评论 -
Redis的大key简介与问题与解决
redis 的大 key 不是指存储在 redis 中的某个 key 的大小超过一定的阈值,而是该 key 所对应的value 过大对于 string 类型来说,一般情况下超过 10KB 则认为是大 key;对于set、zset、hash 等类型来说,一般数据超过5000条即认为是大 key。转载 2023-10-23 18:48:35 · 1024 阅读 · 0 评论