底层lettuce spring redis
深入理解Spring的Bean定义对象BeanDefinition-面试重点
Spring注解这篇文章中讲到了Spring的组件,组件加载到Spring容器中也就是Spring容器中的Bean对象,想要更深理解Spring中的Bean对象,那对这个BeanDefinition一定要有深入的了解,它是构造出来Bean对象的一切基础,比如Bean的作用域,Bean的注入模型,Be ......
Solon2 与 Spring Boot 的区别
一个高效的应用开发框架:更快、更小、更简单。
启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk19。 ......
ASP.NET Core使用filter和redis实现接口防重
背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。这和幂等性(idempotency)稍微有点区别,幂等性要求的是对重复请求有相同的效果和结果,通常需要在接口内部执行业务操作前检查状态;而防重可以认为是一个 ......
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
问题描述 在 Spring Boot 项目中,使用 Redisson 连接 Azure Redis 服务,如下是详细的操作步骤(项目源代码文末可下载) 示例步骤 第一步: 在 Spring Boot 的项目中,添加 redisson-spring-boot-starter 依赖 在项目的pom.xm ......
Redis缓存数据库-快速入门
Redis数据库快速入门 一、Redis数据库 介绍: Redis:非关系型缓存数据库 nosql:非关系型数据库 没有表,没有表与表之间的关系,更不存在外键 存储数据的形式为key:values的形式 c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w ......
redis(14)主从复制
Redis主从复制 主机数据更新后根据配置和策略, 自动同步到备机的 master/slaver 机制,Master 以写为主,Slave 以读为主,主从复制节点间数据是全量的。 作用: 读写分离,性能扩展 容灾快速恢复 上图将主服务器复制了3份从服务器,主服务器进行写操作,从服务器进行读操作,读写 ......
redis(13)持久化操作-AOF
AOF(Append Only File) 以日志的形式来记录每个写操作(增量保存),将 Redis 执行过的所有写指令记录下来 (读操作不记录), 只许追加文件但不可以改写文件,redis 启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以 ......
Spring Cloud Alibaba 整合 Seata 实现分布式事务
在Spring Boot单体服务中,添加@Transactional注解就能实现事务。在单体服务中,执行事务都是在同一个数据库下进行。但是随着业务越来越复杂,数据量越来越大会进行分库分表。在微服务场景下,每个服务都有自己的数据库。之前的单体事务无法处理跨库的事务,这个时候就需要使用分布式事务。 前面 ......
Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战
需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列 ......
Spring Cloud Alibaba实现服务的无损下线功能
1、背景 最近用到了Spring Cloud Alibaba开发微服务,在开发的过程中发现,当我们的服务上线或下线的时候,我们的Spring Cloud Gateway需要一段时间才能感知到,那么有没有办法能够让服务立即感知到呢?答案是可以的。 此种实现方式是我自己记录下,目前未在生产环境中使用,此 ......
我又和redis超时杠上了
我又和redis超时杠上了 服务监控系列文章 服务监控系列视频 背景 经过上次redis超时排查,并联系云服务商解决之后,redis超时的现象好了一阵子,但是最近又有超时现象报出,但与上次不同的是,这次超时的现象发生在业务高峰期,在简单看过服务器的各项指标以后,发现只有cpu的使用率在高峰期略高,我 ......
一次排查某某云上的redis读超时经历
一次排查某某云上的redis读超时经历 服务监控系列文章 服务监控系列视频 问题背景 最近一两天线上老是偶现的redis读超时报警,我嗅到了一丝不正常的味道,但由于业务繁忙,只是暂时将超时时间从200ms调制500ms,超时情况减少了,不过还是有发生。趁业务空闲期,于是开始着手排查。 排查思路 查阅 ......
Spring Boot如何自定义监控指标
1.创建项目 pom.xml引入相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http ......
【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看
highlight: a11y-dark 简介 前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用。但由于原来OpenAI 并没有支持官网的chatgpt模型,所以使用起来相对没有官网那么智能完善,所以就没有写出一个demo项目,只开源了Open AI的SDK ......
Spring:现代Java开发的必备框架
Spring:现代Java开发的必备框架 Spring是一个轻量级的Java框架,它提供了各种企业级应用程序开发的工具和技术。Spring框架的核心是IoC容器和AOP框架。IoC容器使得Java应用程序的组件化变得更加容易,AOP框架使得Java应用程序的切面编程变得更加容易。Spring框架还提 ......
从源码MessageSource的三个实现出发实战spring·i18n国际化
从源码去看MessageSource的几个实现类的源码出发,基于spring的国际化支持,实现国际化的开箱即用,静态文件配置刷新生效以及全局异常国际化处理。 ......
Spring Boot2中如何优雅地个性化定制Jackson
概述 本文的编写初衷,是想了解一下Spring Boot2中,具体是怎么序列化和反序列化JSR 310日期时间体系的,Spring MVC应用场景有如下两个: 使用@RequestBody来获取JSON参数并封装成实体对象; 使用@ResponseBody来把返回给前端的数据转换成JSON数据。 对 ......
Redis的介绍安装以及启动与使用、数据类型、Redis管道、Django使用Redis
一、介绍Redis 1. 详细介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push ......
Spring MVC的请求处理逻辑
当大家了解了如何编写一个简单的Spring MVC程序后,大家心中应该会有一些好奇:这背后到底发生了什么? Spring MVC是怎么把这些功能串联起来的?我们只是写了一个控制器而已,HTTP请求是怎么转换为控制器方法的调用的?结果又是怎么变成JSON的.....啊这小伙伴们是不是已经混乱了!? 接 ......
redis分布式锁的实现
一.正常加锁 当两个用户同时注册一个用户名时,为保证用户名不能重复,因此对其注册的用户名加锁。 具体步骤: 获得用户注册的用户名,进行判断,如果为空则对其进行加锁,保存到数据库,释放锁资源。 二.线程出现阻塞 当A线程加锁后出现阻塞时,导致数据还没有存到数据库,锁的时间便会失效。 B线程便会执行,对 ......
用Redis实现延迟队列,我研究了两种方案,发现并不简单
大家好,我是三友~~ 背景 前段时间有个小项目需要使用延迟任务,谈到延迟任务,我脑子第一时间一闪而过的就是使用消息队列来做,比如RabbitMQ的死信队列又或者RocketMQ的延迟队列,但是奈何这是一个小项目,并没有引入MQ,我也不太想因为一个延迟任务就引入MQ,增加系统复杂度,所以这个方案直接就 ......
如何理解Spring框架中的ioc?
如何理解Spring框架中的ioc? ioc,Inversion of Control(控制反转),是Spring中的一种设计思想而非技术。 我们可以从4个方面理解ioc: ①谁控制谁? ——Ioc容器控制对象。 ②控制了什么? ——Ioc容器控制了获取对象及其外部资源。 ③为什么是反转? ——传统 ......
Spring注解篇,学完注解深入了解SpringBoot更容易
由于Spring Boot项目底层也都是Spring,使用Spring Boot就需要对Spring的注解有一定的了解,这次就把Spring的部分注解聊一下。熟悉了Spring的注解使用Spring Boot开发更是得心应手。 @ComponentScan:用于指定扫描包的路径,只有在它指定的包下 ......
Spring Boot自动配置原理懂后轻松写一个自己的starter
目前很多Spring项目的开发都会直接用到Spring Boot。因为Spring原生开发需要加太多的配置,而使用Spring Boot开发很容易上手,只需遵循Spring Boot开发的约定就行了,也就是约定大于配置,无需觉得它神奇,它的底层都是使用的Spring。聊完这个原理带着大家轻松写一个自 ......
Spring事务(Transaction)管理高级篇一栈式解决开发中遇到的事务问题
Spring是目前Java开发中最流行的框架了,它的事务管理我们在开发中常常的用到,但是很多人不理解它事务的原理,导致开发中遇到事务方面的问题往往都要用很长的时间才能解决,下面就带着大家去深入了解Spring的事务,然后文章的最后还会给出开发中常常遇到的问题以及解决方案。 如果单纯的用Spring框 ......
redis georadius源码分析与性能优化
原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
云服务器安装 redis
下载地址:https://download.redis.io/releases/ 此处示例使用的版本是:redis-6.2.10.tar.gz 前提环境: 云服务器 Xshell(操作终端) Xftp(传输工具) Redis Desktop Manager(redis 可视化客户端,可选) 1. 下 ......
redis(2)概述与安装
前言 redis安装在Linux服务器上,系统为centos7,安装的版本为redis6.2.10 下载与安装 下载地址:https://redis.io/download/#redis-downloads 点击上面的链接就能进入redis下载页面,最新的目前是7.0 这里使用的是6.2.10的版本 ......
redis(10)事务和锁机制
Redis事务定义 Redis 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis 事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、discard Redis 事务中有 Multi、Ex ......