JanelSirry
码龄8年
求更新 关注
提问 私信
  • 博客:251,365
    社区:1
    问答:10
    动态:2
    251,378
    总访问量
  • 129
    原创
  • 9,349
    粉丝
  • 175
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
加入CSDN时间: 2018-06-18
博客简介:

JanelSirry's Blog

博客描述:
百度很多东西都有,但是很多不能用,所以需要自己来实践,作为笔记而记录,方便自己查看,也方便分享,喜欢的加关注!
查看详细资料
个人成就
  • 获得1,158次点赞
  • 内容获得62次评论
  • 获得1,158次收藏
  • 代码片获得1,848次分享
  • 博客总排名15,322名
  • 原力等级
    原力等级
    5
    原力分
    1,946
    本月获得
    13
创作历程
  • 59篇
    2025年
  • 1篇
    2023年
  • 4篇
    2022年
  • 13篇
    2021年
  • 30篇
    2020年
  • 5篇
    2019年
  • 17篇
    2018年
成就勋章
TA的专栏
  • k8s
    5篇
  • vmware
    8篇
  • 黑马头条
  • 端口转发
    2篇
  • rinetd
    1篇
  • docker-compose
    4篇
  • springcloud
    16篇
  • springboot
    15篇
  • 文件服务器
    1篇
  • bootcamp
    1篇
  • electron
    1篇
  • nrm
    1篇
  • navicat
    1篇
  • jenkins
    1篇
  • activeMQ
    1篇
  • redis
    2篇
  • docker
    10篇
  • nexus3
    1篇
  • docker私服
    1篇
  • centos7
    22篇
  • java
    12篇
  • tomcat8
    7篇
  • mysql
    4篇
  • nginx
    5篇
  • keepalived
    1篇
  • tomcat
    3篇
  • nmap
    1篇
  • js
    2篇
  • oracle11g
    2篇
  • 测试
    1篇
  • office
    1篇
  • windows
    10篇
  • mac
    7篇

TA关注的专栏 3

TA关注的收藏夹 0

TA关注的社区 4

TA参与的活动 1

兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

真实场景:防止缓存穿透 —— 使用 Redisson 布隆过滤器

电商系统如何防止缓存穿透?使用Redisson布隆过滤器可以有效拦截无效查询。当用户请求不存在的数据时,传统方法如缓存空对象或限流效果有限。布隆过滤器通过在Redis中存储所有合法商品ID的位图,能在O(1)时间内判断请求ID是否可能存在。系统启动时加载有效ID到布隆过滤器,查询时先检查该过滤器:若不存在则直接拦截,存在则继续查缓存或数据库。这种方案能阻挡大量无效请求,保护数据库免受穿透攻击,具有高性能、低内存和分布式支持等优势。虽然存在少量误判可能,但不会影响系统整体性能。
原创
博文更新于 2025.11.05 ·
416 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

Redisson框架中布隆过滤器

Redisson框架提供的布隆过滤器是一种基于Redis实现的概率型数据结构,用于高效判断元素是否存在。它具有"可能存在"(可能有误判)和"绝对不存在"的特点,适用于缓存穿透防护、URL去重等场景。Redisson封装了Redis布隆过滤器功能,支持设置预期插入量和误判率,使用位图和哈希函数实现。示例代码展示了初始化和基本操作,但需注意布隆过滤器不支持删除操作、只能初始化一次,且更适合读多写少的大规模数据场景。该技术能有效降低无效查询,适合分布式环境下的共享过滤需求。
原创
博文更新于 2025.11.05 ·
421 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

Spring Boot 项目示例,展示如何使用 Redisson 布隆过滤器来防止 缓存穿透

本文介绍了一个基于布隆过滤器的电商系统商品查询优化方案。通过在查询前使用布隆过滤器判断商品ID是否存在,有效避免了无效ID直接访问缓存/数据库,提升了系统稳定性。技术实现上采用Spring Boot框架,集成Redisson客户端实现分布式布隆过滤器,并模拟了商品数据和缓存查询逻辑。核心代码包含Redisson配置、商品服务、布隆过滤器初始化与管理等模块,其中布隆过滤器初始化时可设置预期商品数量和误判率参数。该方案能显著减少无效查询请求,特别适用于商品ID范围大但活跃商品相对有限的电商场景。
原创
博文更新于 2025.11.05 ·
524 阅读 ·
6 点赞 ·
1 评论 ·
7 收藏

Java + Spring Boot + Redis技术栈,在实际使用缓存时遇到 缓存击穿、缓存穿透、缓存雪崩

摘要: 本文针对Java+Spring Boot+Redis技术栈中常见的缓存问题(击穿、穿透、雪崩),提供了具体场景分析和解决方案。缓存击穿通过分布式锁或逻辑过期解决热点key失效问题;缓存穿透采用布隆过滤器或空对象缓存拦截无效请求;缓存雪崩通过随机过期时间、多级缓存和Redis高可用避免集体失效。文中包含Redisson锁、Caffeine本地缓存等代码示例,并建议结合监控、预热和限流增强系统稳定性。(149字)
原创
博文更新于 2025.11.04 ·
1421 阅读 ·
28 点赞 ·
1 评论 ·
12 收藏

缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么解决的)

缓存三大问题及解决方案 一、缓存穿透 问题:查询不存在数据时请求直达数据库,可能导致DB崩溃 解决方案:缓存空值(短时间过期)或使用布隆过滤器(如Redisson实现) 二、缓存雪崩 问题:大量缓存同时失效导致DB瞬时压力过大 解决方案:给缓存过期时间增加随机值(如1-5分钟随机) 三、缓存击穿 问题:热点key失效后突发高并发请求压垮DB 解决方案:使用分布式锁(Redis setnx或Zookeeper实现)
原创
博文更新于 2025.11.04 ·
876 阅读 ·
12 点赞 ·
0 评论 ·
16 收藏

Redis数据和MySQL数据库的一致性如何实现

本文探讨了如何在分布式系统中保证Redis缓存与MySQL数据库的数据一致性。首先分析了Redis与MySQL的异构特性,指出二者无法天然保持强一致性,通常采用最终一致性策略。接着介绍了四种常见方案:Cache Aside(旁路缓存)、Write Through(写穿透)、Read Through(读穿透)和双删策略,详细说明了其优缺点及适用场景。文章还提出了进阶方案,如基于Binlog的同步和事务机制,并提供了最佳实践建议,包括优先使用Cache Aside模式、设置合理TTL等。最后以Python和Ja
原创
博文更新于 2025.11.04 ·
747 阅读 ·
26 点赞 ·
0 评论 ·
16 收藏

使用 Redis + Lua 脚本实现【秒杀库存扣减】

Redis + Lua 实现高并发原子库存扣减 在秒杀等高并发场景下,传统"查询+扣减"两步操作会导致超卖问题。使用Redis的Lua脚本可将这两个操作合并为原子操作: Lua脚本核心逻辑: 检查库存是否>0 原子性执行DECR扣减 返回1(成功)/0(失败) 推荐使用EVALSHA: 先SCRIPT LOAD缓存脚本 通过SHA1摘要高效执行 优势: 完全原子性操作 避免网络往返延迟 相比事务更灵活高效 该方法同样适用于优惠券发放、积分扣减等需要原子操作的场景。
原创
博文更新于 2025.11.04 ·
1284 阅读 ·
29 点赞 ·
0 评论 ·
26 收藏

Redis有事务吗,和关系型如mysql数据库事务有什么区别

Redis事务通过MULTI、EXEC命令实现,将多个命令打包顺序执行,保证原子性和隔离性。事务中的命令会先缓存在队列中,EXEC时统一执行,不受其他命令干扰。但与关系型数据库不同,Redis事务不支持回滚机制,即使部分命令失败也不影响后续执行。此外,可通过WATCH命令实现乐观锁控制。Redis事务更适用于批量命令执行,而非需要严格ACID的场景。
原创
博文更新于 2025.11.04 ·
744 阅读 ·
14 点赞 ·
0 评论 ·
24 收藏

为什么Redis的操作是原子性的?如何保证原子性的?

Redis 的单个命令操作是原子性的,这得益于其单线程模型(6.0 前完全单线程,6.0 后命令执行仍单线程),确保同一时间只有一个命令执行。Redis 提供了 INCR、SETNX 等原子命令,但多个命令组合(如 GET+SET)并非原子。Redis 事务(MULTI/EXEC)仅保证命令连续执行,不提供回滚机制。要保证多命令原子性,推荐使用 Lua 脚本或 Redis 原生原子命令。Lua 脚本执行是单线程原子的,可实现复杂逻辑的原子操作,而事务适用于批量命令有序执行但不保证全部成功。
原创
博文更新于 2025.11.04 ·
986 阅读 ·
13 点赞 ·
0 评论 ·
19 收藏

Redis服务器的的内存是多大

Redis内存大小不固定,取决于服务器资源和配置。默认32位系统限制3GB,64位系统无限制。建议通过maxmemory参数设置物理内存的3/4(如0.75),避免耗尽系统资源。可通过config set maxmemory临时调整,或修改配置文件永久生效。使用INFO memory或MEMORY STATS命令可查看内存使用情况。生产环境必须设置内存上限,并配置淘汰策略(如LRU)防止内存溢出。未设置限制时Redis可能占用所有可用内存,存在系统崩溃风险。
原创
博文更新于 2025.11.04 ·
590 阅读 ·
16 点赞 ·
0 评论 ·
9 收藏

Redis为什么是单线程的

Redis采用单线程设计主要基于性能和复杂度考虑:其内存操作速度极快,单线程即可高效处理高并发请求,避免多线程锁竞争和同步开销;同时单线程简化了设计,提升CPU缓存利用率。真正的瓶颈在于内存或网络I/O而非CPU计算。Redis 6.0+虽引入多线程I/O优化网络处理,但核心命令执行仍保持单线程,确保数据一致性。这种架构平衡了简单性、性能和可靠性,特别适合内存密集型操作场景。
原创
博文更新于 2025.11.04 ·
820 阅读 ·
23 点赞 ·
0 评论 ·
18 收藏

mysql 创建了一个联合索引(a,b,c) 生效?where b = 1 and a =1 and c = 1,where b = 1 and c = 1,where a = 1 and c = 1

MySQL联合索引(a,b,c)遵循最左前缀原则,查询条件必须从最左字段开始才能生效。具体分析: a=1 AND b=1 AND c=1:完全生效 a=1 AND c=1:仅a生效(部分生效) b=1 AND c=1:不生效 b=1 AND a=1 AND c=1:优化器调整顺序后会完全生效 总结:要让联合索引完全生效,查询条件必须包含最左字段a,并按索引顺序连续使用字段。
原创
博文更新于 2025.11.04 ·
540 阅读 ·
25 点赞 ·
0 评论 ·
9 收藏

MyISAM和InnoDB的区别

MySQL的MyISAM和InnoDB是两种主要存储引擎,核心区别在于:InnoDB支持事务、行级锁、外键和崩溃恢复,适合高并发写操作;MyISAM仅支持表级锁,查询性能高但不支持事务,适合读密集型场景。MySQL 5.5+版本默认使用InnoDB,因其在数据安全性、并发处理方面的优势。选择引擎需根据业务需求:事务处理选InnoDB,只读或分析型应用可考虑MyISAM。可通过ALTER TABLE命令修改表的存储引擎类型。
原创
博文更新于 2025.10.24 ·
422 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

悲观锁和乐观锁是什么,要不要用,一般在项目里怎么用

本文详细对比了悲观锁和乐观锁的核心思想、适用场景及实现方式。悲观锁采用"先加锁后操作"策略,适合高并发写冲突场景(如库存扣减),通过SELECT...FOR UPDATE实现。乐观锁采用无锁设计,通过版本号校验更新数据,适合读多写少场景(如点赞数)。文章提供了具体SQL示例和代码实现,并总结两者的优缺点及典型应用场景。建议根据业务冲突频率选择:冲突多用悲观锁,冲突少用乐观锁。
原创
博文更新于 2025.10.24 ·
357 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

mysql事务的并发问题(三大典型问题)

事务并发执行可能出现三大问题:1)脏读(读取未提交事务的无效数据);2)不可重复读(同一事务内多次读取同一数据结果不同);3)幻读(同一事务内相同范围查询返回不同结果集)。MySQL通过四种隔离级别解决这些问题:读未提交(问题最多)、读已提交(解决脏读)、可重复读(默认级别,通过MVCC+间隙锁解决脏读和不可重复读,并有效控制幻读)、串行化(完全解决所有问题但性能最差)。建议根据业务需求选择合适的隔离级别,MySQL默认的可重复读已能良好处理大多数并发场景。
原创
博文更新于 2025.10.23 ·
302 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

简述MySQL事务

MySQL事务是保证数据一致性的重要机制,具有ACID特性(原子性、一致性、隔离性、持久性)。InnoDB引擎支持事务,而MyISAM不支持。使用事务时,通过START TRANSACTION/BEGIN开启,COMMIT提交或ROLLBACK回滚。MySQL默认隔离级别为REPEATABLE READ,可防止脏读和不可重复读,并通过MVCC解决幻读问题。事务适用于银行转账、订单处理等需要原子性操作的场景。可通过设置autocommit关闭自动提交,使用SAVEPOINT实现部分回滚。选择正确的存储引擎和隔
原创
博文更新于 2025.10.23 ·
756 阅读 ·
19 点赞 ·
0 评论 ·
29 收藏

Select 语句完整的执行顺序

SQL查询语句的逻辑执行顺序与书写顺序不同。关键执行步骤为:1) FROM确定数据来源;2) WHERE进行初步过滤;3) GROUP BY分组;4) HAVING过滤分组结果;5) SELECT选择返回列;6) ORDER BY排序;7) LIMIT限制返回行数。理解这一顺序有助于编写高效SQL,如尽量在WHERE中过滤无效数据,减少后续处理量。注意SELECT列别名只能在ORDER BY中使用,而不能用于WHERE/HAVING等前置子句。
原创
博文更新于 2025.10.23 ·
553 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

当面试官问到 ​​“MySQL 数据量大,速度慢怎么办?

有举例说明,MySQL大数据量查询优化方案 针对MySQL数据量大导致查询变慢的问题,可从以下五方面进行优化: SQL与索引优化:优先分析慢查询,通过EXPLAIN检查执行计划,优化SQL写法,合理使用索引,避免全表扫描和低效操作。 表结构优化:选择合适的数据类型,权衡规范化与反规范化,必要时采用分区表策略。 配置调优:调整关键参数如innodb_buffer_pool_size等,提升数据库性能。 硬件升级:增加内存、使用SSD、提升CPU性能。 架构扩展:超大数据量时,考虑分库分表、读写分离、缓存机制
原创
博文更新于 2025.10.22 ·
585 阅读 ·
5 点赞 ·
0 评论 ·
16 收藏

Spring中常用的设计模式

Spring 框架中广泛应用了多种设计模式,包括控制反转(IoC)、工厂模式(BeanFactory)、单例模式(默认Bean作用域)、代理模式(AOP实现)、模板方法模式(JdbcTemplate)、观察者模式(事件机制)、适配器模式(HandlerAdapter)、策略模式(事务管理)等。这些模式通过注解如@Autowired、@Service和核心类如ApplicationContext、JdbcTemplate等实现,帮助开发者解耦代码、简化开发。Spring通过设计模式的巧妙运用,提供了灵活、可扩
原创
博文更新于 2025.10.22 ·
1222 阅读 ·
19 点赞 ·
0 评论 ·
22 收藏

谈谈你对Spring的理解

Spring 是一个开源的轻量级 Java 开发框架,由 Rod Johnson 创建,旨在简化企业级应用开发。其核心理念是通过控制反转(IoC)和依赖注入(DI)管理对象生命周期,降低耦合度;通过面向切面编程(AOP)实现日志、事务等横切关注点的模块化。Spring 采用模块化设计,包含核心容器、Web MVC、数据访问、安全等组件,并衍生出 Spring Boot(快速开发)、Spring Cloud(微服务)等生态。优势包括非侵入式设计、丰富的功能集成、强大的社区支持,适用于Web服务、数据库交互、微
原创
博文更新于 2025.10.22 ·
607 阅读 ·
13 点赞 ·
0 评论 ·
14 收藏
加载更多