登录社区云,与社区用户共同成长
邀请您加入社区
大家都知道Redis的业务范围是非常广的,但是对于刚入行的小伙伴来说可能也就知道个缓存跟分布式锁。因为Redis的很多功能在一些小企业里,根本是用不到的,得等到并发量到了一定的程度,系统扛不住了,才会用到Redis那些高级的功能。下面LZ就带大家来看看,Redis到底能干些啥:
Redis想必大家都听说过,不管是面试还是工作上我们都能见到。但是Redis到底能干什么?又不能干什么呢?
Redis这玩意不用多说,Java后端打工人就没有没接触过的,现在出去面试基本上是必问项;而且在工作中在项目中还能起很大的作用。它不仅能减少数据库的操作、并且你还可以利用redis的一些数据结构如set sorted set 解决一些特定的问题、利用单线程实现分布式锁、一些简单的订阅发布等等。
Redisson是一个功能强大的Java版Redis客户端,提供丰富的分布式数据结构和同步工具。它不仅支持基本的Redis数据类型,还封装了分布式锁、队列、限流器等高级特性,并深度集成Spring等主流框架。Redisson兼容多种Redis部署模式,适用于需要分布式协调能力的Java项目,能显著减少基础设施代码量。该项目拥有24K+ GitHub Star,经过大量生产验证,是Java开发者处理
已经在 Crazyrouter 生产模型列表中可见。最小 chat completion 成功返回,response ID 为。和gpt-5.4都能通过调用。GPT-5.4 在 structured JSON 测试中返回 compact raw JSON,更适合程序直接解析。Claude Sonnet 5 返回内容有效,但 JSON 外层带 markdown code fence,需要工程层 no
Lettuce是Java生态中广泛使用的Redis客户端,基于Netty实现,支持同步、异步和响应式API,允许多线程共享连接。它提供高可用支持(Sentinel、Cluster、自动重连)和扩展能力(如RediSearch、RedisJSON等)。通过Maven或Gradle引入依赖即可使用,兼容Java 8+,适合需要稳定Redis连接或从Jedis迁移的项目,也是Spring Data Re
项目需求是这样的:一个知识库问答系统,不同问题要路由到不同模型。简单问题走便宜的快模型,复杂推理走深度模型,代码相关走擅长编程的模型。超过3个说明你的模型选型有问题,而且链路太长会拖慢响应。涉及DeepSeek、通义千问、智谱GLM三个模型的统一接入和智能路由。时间敏感的问题、需要实时信息的场景、需要随机性的创意写作,这些场景加黑名单不走缓存。每家请求格式不一样,DeepSeek用OpenAI兼容
本文介绍了一个基于C++20协程的高性能Web聊天室项目。项目采用"每连接一个协程"的并发模型,核心组件包括:协程网络层(epoll+协程调度)、Redis异步访问(hiredis-async集成)、MySQL异步访问(线程池+连接池)、HTTP/WebSocket协议实现等。系统支持10,000+并发WebSocket连接,HTTP注册/登录QPS达10K+,消息延迟P50&
从 Java 面试之王的角度,Redis 必问三大块:数据结构与使用场景、缓存三大问题及解决方案、分布式锁与高可用。我会把这些拆成能直接背的干货,配上代码和血泪教训。面试官最爱问“你用 Redis 做过什么”,你必须把数据结构和业务场景对应起来。血泪教训:别用 HGETALL 扫描大 Hash,拆成小 Hash 或改用 String + JSON 分页。现象:恶意请求直接打到 DB。方案:缓存空值
Redis 是 Java 后端开发中最高频使用的中间件之一,缓存、分布式锁、Session 共享是三大最常用的场景。这一篇从配置到实战,一步到位。
Redis 是基于内存的高性能键值存储系统,C 语言编写,单机 QPS 可达 10 万+。它不只是缓存,更是一个数据结构服务器,支持 String、Hash、List、Set、Sorted Set 等丰富类型,并提供持久化、主从、集群、事务、Lua 脚本等高级功能。在银行核心系统中,我们用它做热点数据缓存、分布式锁、实时排行榜和消息队列。
缓存不是银弹,但你不得不承认,当系统需要扛住海量请求时,Redis与Spring Boot的组合就是最现实、最优雅的解决方案。当你把Redis用到极致,你会发现,缓存不再是一个孤立的组件,而是与数据库、消息队列、分布式锁、限流器融为一体的系统骨架。每一次缓存的命中,每一次穿透的防护,都是你和系统之间的一次无声对话。从零开始集成Redis实现缓存,真正的起点不是新建一个Spring Boot项目,而
如果它说存在,再去查缓存——当然它偶尔会误判,但误判只会让你多查一次数据库,不会导致数据错误。如果业务数据天然没有共同前缀,可以用一致性哈希算法自己封装一层哈希,或者直接用Redisson的RMapCache,它的失效策略比纯Redis更智能。你无法保证100%命中,也无法保证绝对一致,但你可以通过合理设计过期时间、淘汰算法、多级缓存和容错机制,让击中数据库的概率降到极低,让不一致的时间窗口缩到用
本文系统介绍 Java 单元测试实践,涵盖 JUnit 5 的测试生命周期、常用断言、参数化测试及条件执行,结合 AssertJ 提升断言可读性;深入讲解 Mockito 的 Mock、Spy、参数匹配、行为模拟与调用验证,并通过 Service、Controller 测试示例说明 MockMvc、@WebMvcTest 等用法,最后总结测试命名规范、Given-When-Then 结构及常用测试
下面给你一套。,适合本科毕设,工作量充足、创新点明确。
简单说,RAG(检索增强生成)是让 AI “先查资料再作答” 的技术,核心是解决大模型 “记不住新信息、容易说胡话” 的问题。核心逻辑先检索:AI 接到问题后,不直接凭 “记忆” 回答,而是先去指定的知识库(比如公司文档、最新新闻、专业资料)里找相关信息。再生成:把找到的精准资料和自身知识结合,整理成自然语言回答,既保证准确性,又不脱离模型本身的语言能力。关键价值解决 “知识过期”:大模型的训练数
本项目是一个基于SpringBoot2+MybatisPlus+SpringSecurity+jwt+redis+Vue的前后端分离商城系统,功能涵盖商城、拼团、砍价、多门店等企业级电商需求,支持二次开发。系统采用模块化设计,包含微信模块、公共模块、后台管理、日志管理等。后端整合了SpringSecurity、JWT、Redis等技术,前端使用Vue全家桶和Element UI。提供源码地址和代码
维度技术决策踩过的坑关键收获状态存储Redis Hash + TTL 自动过期心跳风暴打垮 Redis网关层批量聚合 + Pipeline 写入自动下线Keyspace Notification 监听过期过期事件偶有延迟业务层双重校验(再查一次 Redis)状态广播消息丢失导致计费偏差Publisher Confirm + 手动 ACKWebSocket 连接Hub 模式 + 一司机一连接僵尸连接
SwapU云市集是一款专为校园场景设计的二手交易平台,采用前后端分离架构(Vue.js+Spring Boot)解决传统校园交易信息碎片化问题。系统包含五大核心模块:用户管理(JWT认证)、商品管理(分类/发布)、订单管理(全流程跟踪)、即时通讯(WebSocket)和辅助服务(OSS存储/Redis缓存)。通过热门商品缓存、浏览量异步更新和分区推荐策略优化性能,支持高并发场景。项目已完全开源,提
去年接了个项目,要给用户提供多模型切换功能,光接入层就写了小一千行。每次加新模型都得改核心逻辑,测试时漏了一个异常处理,半夜三点被报警叫起来。今天用A写代码,明天用B做翻译,后天用C搞数据分析——三套接入方式、三种计费规则、三个后台来回切。同一个文本在A模型算100 Token,B模型可能算120。不同模型单价差好几倍,没有统一的计量视图,月底看账单才傻眼。一个月真实数据对比,场景:知识库问答系统
下面给你一套✅ 支持✅ 技术深度够,答辩老师基本不会为难你✅ 可以直接当。
API Key 泄露不是一个“把字符串删掉”的代码问题,而是一场小型身份安全事件。旧 Key 是否失效,决定攻击窗口是否真正关闭;消费者清单是否完整,决定轮换能否不靠运气;审计证据是否充分,决定团队能否判断影响;预防控制是否落地,决定相同事故会不会再次发生。最稳妥的原则仍然很朴素:泄露即视为失守,先撤销或轮换,随后审计和清理,最后把长期、共享、权限过大的 Key,逐步替换为可管理、可追踪、可快速失
在 Spring Boot 架构下,仿小红书源码通常会涉及 Redis、EasyES、WebSocket、Quartz、Shiro、Druid、对象存储、内容审核、短信服务等技术。不同技术并不是孤立存在,而是围绕内容社区的核心链路协同工作。
以很容易找到这段代码是一个用于监控和跟踪 StackExchange.Redis 库的 APM(应用性能监控)工具集成。它针对类的方法进行了注入以收集执行过程中的信息。hostnameportcommandScope但是,仅仅只有声明了一个 AOP 切面类不够,我们还需将这个 AOP 切面类应用到 Redis SDK 原有的方法中,这又是如何做到的呢?那么我们就需要了解一下 CLR Profile
本文介绍了基于Spring Boot 2.6.3和Redis 5.0.1实现Redis Stream消息队列的方法。主要内容包括:1. 环境配置(JDK1.8、Redis依赖引入);2. RedisStreamUtil工具类封装,提供消费组创建、消息读写等功能;3. 消息生产者实现,通过Controller接口发送消息到"mystream"队列;4. 消费者监听器配置,使用St
本文介绍了美团MySQL数据库高可用架构从MMM到MHA+Zebra以及MHA+Proxy的演进历程,同时也介绍了业界一些高可用的做法。数据库最近几年发展突飞猛进,数据库的高可用设计上没有完美的方案,只有不断的突破和创新,我们也一直在这条路上探索更加优秀的设计与更加完美的方案。
容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。容灾是为了在遭遇灾害时能保证信息系统能正常运行,帮助企业实现业务连续性的目标;备份是为了应对灾难来临时造成的数据丢失问题。在容灾备份一体化产品出现之前,容灾系统与备份系统是独立的。容灾备份产品的最终目标是帮助企业应对人为误操作、软件错误、病毒入侵等
随着业务量增大,一些核心系统数据库单表数量达到几千万甚至亿级,这时候对该表的数据操作效率会大大降低,并且虽然有缓存来抗读的压力,但是对于大量的写操作和一些缓存miss的流量到达一定量时,单库的负荷也会到达极限,这时候需要将表拆分,一般直接采用分库分表,因为只做分表的话,单个库的连接瓶颈仍然无法解决。CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中
本文深入解析了SpringBoot集成Redis的核心机制,主要包含五个关键点:1)SpringBoot通过类路径扫描和条件注解实现Redis自动配置;2)生产环境应避免使用默认JDK序列化(存在可读性差、存储膨胀等问题),推荐JSON序列化方案;3)Redis默认序列化的"乱码"实质是Java序列化协议头;4)Redis基于TCP文本协议(RESP)通信,支持telnet等工
注册成为开发者,需要实名认证控制台-->应用管理-->我的应用(1)点击创建新应用,弹出新建应用弹窗应用名称:map_mcp应用类型:出行(2)点击已创建应用操作项中的设置,弹出设置Key弹窗Key名称:test服务平台:web服务(3)提交,我的应用列表中存在新生成的Key。
需要注意的是,分布式锁的实现需要考虑到并发性、可靠性和性能等方面的问题,选择合适的实现方式需要根据具体的需求和场景进行评估。的操作,并且这种操作是原子操作。设置失效时长,不能保证。
本文是Redis面试高频考点精华笔记,聚焦面试常问的主从复制、哨兵机制、集群分片、缓存三大问题(穿透/雪崩/击穿)、分布式锁五大核心模块,摒弃冗余内容,只保留面试必背的原理、流程、优缺点及解决方案,适配校招/社招Redis面试备考。
分布式锁是一种在分布式系统中协调多个节点访问共享资源的机制,意思就是说不管这些节点是部署的相同服务还是不同服务只要共用了某个数据就需要使用锁防止数据被多节点同时修改,那么防止共享数据被修改就必须用分布式锁吗?代码里用线程模仿进程来测试redis实现分布式锁。其中通过setIfAbsent方法来进行加锁设置,通过setIfPresent方法来给锁续期防止任务未执行完锁就失效了。这里需要注意的是:01
Redis能准确解释 SDS 如何通过预分配策略减少内存重分配(如长度 < 1MB 时预分配一倍空间)。说明跳跃表与平衡树的适用差异(跳跃表适合范围查询,平衡树适合单点查询)。监控区分 Actuator 过滤器与 AOP 的作用范围(过滤器捕获所有 HTTP 请求,AOP 专注 Controller 方法)。解释micrometer如何支持多监控系统(如同时输出指标到 Prometheus 和 I
redis
——redis
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net