springboot redisson redis

redis实现分布式锁(包含代码以及分析利弊)

redis实现分布式锁(基础版) 使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置。这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁。设置key的时候需要设置一个过期时间,以防止死锁。释放锁的时候需要删除key,或者使用lua脚本来保证原子性。 ......
利弊 分布式 代码 redis

【Redis场景3】缓存穿透、击穿问题

【Redis场景3】缓存穿透、击穿问题,涉及缓存穿透、缓存击穿问题的原因分析及解决方案,并进行压测实践;每1~2周学习整理redis中的知识点和场景实现,希望有所输入输出,每天进步一点点。 ......
缓存 场景 问题 Redis

【Redis场景4】单机环境下秒杀问题

【Redis场景4】单机环境下秒杀问题;涉及到全局唯一ID的生成,并发问题,库存超卖问题,一人一单秒杀问题等,相关场景进行压测,不局限于文字,注重实操。 ......
单机 场景 环境 问题 Redis

docker搭建maven私服(nexus3),整合springboot上传下载依赖

一、前言 我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。 maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar包,不想让外人看到,自己公司来回粘贴复制,非常的繁琐 ......
上传下载 springboot 私服 docker nexus3

【Azure Cache for Redis】Python Django-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')

问题描述 使用Python连接Azure Redis服务,因为在代码中使用的是Django-redis组件,所以通过如下的配置连接到Azure Redis服务: CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", " ......
Redis Azure Django-Redis Connection Python

在 SpringBoot 项目中简单实现 JWT 验证

使用 SpringBoot 提供 api 的时候,我更喜欢使用 jwt 的方式来做验证。网上有会多 Spring Security 整合 jwt 的,也有 Shiro 整合 jwt 的,感觉有点复杂。这里分享一下自己在项目中的简单实现。 依赖包 除了 SpringBoot 基本的依赖,需要一个生成 ......
SpringBoot 项目 JWT

Linux上安装jdk Tomcat mysql redis等

1.安装JDk 1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 或者这里有下载好的安装包:链接:https://pan.baid ......
Tomcat Linux mysql redis jdk

Springboot整合AOP和注解,实现丰富的切面功能

简介 我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便。为了简便,我们还是来实现一个计时的功能。 整合过程 首先创建一个注解: @Retention(RetentionPolicy.RUNTIME) ......
切面 注解 Springboot 功能 AOP

GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动

简介 GraalVM是高性能的JDK,支持Java/Python/JavaScript等语言。它可以让Java变成二进制文件来执行,让程序在任何地方运行更快。这或许是Java与Go的一场战争? 下载安装GraalVM 安装GraalVM 首先到官网下载,我是直接到GitHub Release Pag ......
Springboot GraalVM Spring Native 66

Redis 异步客户端选型及落地实践

为了支持更加广泛的业务场景,可视化编排系统近期需要支持对缓存的操作功能,为保证编排系统的性能,服务的执行过程采用了异步的方式,因此我们考虑使用Redis的异步客户端来完成对缓存的操作。 ......
客户端 客户 Redis

Python 同步和异步使用Redis集群的方法

目前在做Python项目用到同步和异步的方法使用Redis单机,现在要增加兼容Redis集群。也就说当前项目用到中同步单机,同步集群,异步单机,异步集群都用到了。 ......
集群 方法 Python Redis

Redis - 介绍与使用场景

Redis 每秒可以处理超过 10 万次读写操作,是已知性能最快的 key-value 数据库,称得上是必须要学会的知识。 ......
场景 Redis

SpringBoot学习笔记 - 构建、简化原理、快速启动、配置文件与多环境配置、技术整合案例

【前置内容】Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入) Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 ......
SpringBoot 原理 案例 环境 文件

单线程架构的Redis如此之快的 4 个原因

前言 作为内存中数据存储,Redis 以其速度和性能着称,通常被用作大多数后端服务的缓存解决方案。 但是,在内部,Redis 采用单线程架构。 为什么单线程设计依然会有这么高的性能?如果利用多线程并发处理请求不是更好吗? 在本文中,让我们深入探讨为什么 Redis 才有单线程架构,依然如此之快,主要 ......
线程 架构 原因 Redis

Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率

GraalVM安装 GraalVM安装 安装 请前往GraalVM官网 下载 GraalVM Community 22.3,注意当前支持的Springboot的GraalVM版本必须是22.3 笔者这里下载的Java版本为17,如下图 安装GraalVM的方法与安装JAVA方法大致相同,GraalV ......
Springboot 效率 Windows Graalvm exe

Redis缓存的主要异常及解决方案

作者:京东物流 陈昌浩 1 导读 Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。 2 异常类型 异常主要有 缓存雪崩 缓 ......
缓存 解决方案 方案 Redis

SpringBoot项目动态定时任务之 ScheduledTaskRegistrar(解决方案一)

在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求。 在单一使用ScheduledTaskRegistrar类解决定时任务问题的时候,可能会达不到预期的动态调整定时任务的效果。 ......

Redis之key的淘汰策略

淘汰策略概述 redis作为缓存使用时,在添加新数据的同时自动清理旧的数据。这种行为在开发者社区众所周知,也是流行的memcached系统的默认行为。 redis中使用的LRU淘汰算法是一种近似LRU的算法。 淘汰策略 针对淘汰策略,redis有一下几种配置方案: 1、noeviction:当触发内 ......
策略 Redis key

Java进阶篇——springboot2源码探究

1.@EnableAutoConfiguration 除了元注解之外,EnableAutoConfiguration包含了两大重要部分: 1)@AutoConfigurationPackage注解 该注解只导入了一个内部类:AutoConfigurationPackages.Registrar.cl ......
springboot2 springboot 源码 Java

SpringBoot+Mybatis-plus整合easyExcel批量导入Excel到数据库+导出Excel

一、前言 今天小编带大家一起整合一下easyExcel,之所以用这个,是因为easyExcel性能比较好,不会报OOM! 市面上常见的导入导出Excel分为三种: hutool easyExcel poi hutool和easyExcel都是对poi的封装,使用起来更加方便! 如果想使用poi和hu ......

大公司为什么禁止SpringBoot项目使用Tomcat?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.c ......
SpringBoot 项目 Tomcat 公司

Redis缓存何以一枝独秀?(2) —— 聊聊Redis的数据过期、数据淘汰以及数据持久化的实现机制

Redis作为一个非关系型数据库,由于其超高的并发处理性能,及其对缓存场景所提供的系列能力构建,使其成为了集中缓存的绝佳选择。本篇我们聊聊Redis数据管理的能力,如数据过期、数据淘汰、数据持久化等。 ......
数据 一枝独秀 Redis 缓存 机制

面对集中式缓存实现上的挑战,Redis交出的是何种答卷?聊聊Redis在分布式方面的能力设计

对于一个集中式缓存的分布式能力构建,必须要额外提供一些机制,来保障数据在各个节点上的安全与一致性。本文以Redis为代表,看下集Redis面对上述问题交出的是怎样一份答卷。 ......
Redis 答卷 分布式 缓存 方面

Redis缓存何以一枝独秀?——从百变应用场景与热门面试题中感受下Redis的核心特性与使用注意点

在分布式盛行的今天,本地缓存明显无法满足分布式场景的缓存诉求。作为应对之法,集中式缓存被广泛的使用在各中分布式系统中,而使用最广泛的莫过于大家耳熟能详的Redis了,本篇开始聊一聊Redis相关的内容。 ......
一枝独秀 Redis 缓存 场景 特性

.NetCore下基于FreeRedis实现的Redis6.0客户端缓存之缓存键条件优雅过滤

前言 众所周知内存缓存(MemoryCache)数据是从内存中获取,性能表现上是最优的,但是内存缓存有一个缺点就是不支持分布式,数据在各个部署节点上各存一份,每份缓存的过期时间不一致,会导致幻读等各种问题,所以我们实现分布式缓存通常会用上Redis 但如果在高并发的情况下读取Redis的缓存,会进行 ......
缓存 FreeRedis 客户端 条件 NetCore

探讨下如何更好的使用缓存 —— Redis缓存的特殊用法以及与本地缓存一起构建多级缓存的实现

本篇文章,我们就一起聊一聊如何来更好的使用缓存,探寻下如何降低缓存交互过程的性能损耗、如何压缩缓存的存储空间占用、如何保证多个操作命令原子性等问题的解决策略,让缓存在项目中可以发挥出更佳的效果。 ......
缓存 Redis

Serilog日志同步到redis中和自定义Enricher来增加额外的记录信息

Serilog 日志同步到redis队列中 后续可以通过队列同步到数据库、腾讯阿里等日志组件中,这里redis库用的新生命团队的NewLife.Redis组件 可以实现轻量级消息队列(轻量级消息队列RedisQueue (newlifex.com)),也可以自行替换熟悉的组件 类库目录 该类库需添加 ......
增加额 Enricher Serilog redis 日志

【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配置Redis的配置即可进行链接Redis服务并且进行操作Redis服务数据。 针对于不同的版本有了不 ......

【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配置Redis的配置即可进行链接Redis服务并且进行操作Redis服务数据。 针对于不同的版本有了不 ......

【Redis技术专区】「优化案例」谈谈使用Redis慢查询日志以及Redis慢查询分析指南

前提介绍 本篇文章主要介绍了Redis的执行的慢查询的功能的查询和配置功能,从而可以方便我们在实际工作中,进行分析Redis的性能运行状况以及对应的优化Redis性能的佐证和指标因素。 在我们5.0左右的版本中Redis使用单线程架构和I/O多路复用模型来实现高性能的内存数据服务。接下来主要分析Re ......
Redis 技术专区 案例 指南 专区