baihongyu.com
博客
关于我
Redis实现微博好友功能微服务(关注,取关,共同关注)
Redis与MySQL结合实现好友功能:基于SpringBoot的高效解决方案背景与引言在现代社交场景中,好友功能已经成为必备的一部分。用户之间的好友关系通常包括关注、取关、共同关注等多种操作。这些功能如果单纯依靠数据库来实现,虽然简单,但在复杂场景下却难以高效处理。比如,如何快速查询两个用户的共同关注列表,就变得颇为棘手。数据库与Redis的结合我们采用MySQL和Redis的方式结合使用,这样......
阅读量:
796 次
2023-03-22
Redis存储结构体信息,选hash还是string?
Redis的字符串和哈希结构在存储用户信息时各有优劣,选择哪种方式取决于具体的场景和需求。以下是对两种结构的详细分析和对比。字符串结构(String)适合存储大块的结构化数据,例如序列化后的JSON字符串。这种方式简单易行,但在查询时需要解析整个字符串,可能会影响性能。常见的使用场景是将用户信息一次性存储到Redis中,例如用户的完整用户资料。哈希结构(Hash)则更适合存储结构化的键值对,类似于......
阅读量:
796 次
2023-03-22
Redis如何高效实现点赞、取消点赞功能
Redis缓存与点赞功能实现Redis缓存设计在SpringBoot项目中集成Redis缓存,可以有效提升点赞功能的性能。以下是详细的实现步骤和思路:1.Redis配置首先,在项目中引入Redis依赖,并配置RedisTemplate。<dependency><groupId>org.springframework.boot</groupId><artif......
阅读量:
796 次
2023-03-22
Redis夺命十二问,差点没抗住!
Redis是面试中绕不过的槛,只要在简历中写了用过Redis,肯定逃不过。今天我们就来模拟一下面试官在Redis这个话题上是如何一步一步深入,全面考察候选人对于Redis的掌握情况。小二:面试官,你好。我是来参加面试的。面试官:你好,小二。我看了你的简历,熟练掌握Redis,那么我就随便问你几个Redis相关的问题吧。首先我的问题是,Redis是单线程还是多线程呢?小二:Redis不同版本之间采用......
阅读量:
796 次
2023-03-22
Redis多线程演进
Redis作为一个基于内存的缓存系统,以其高性能著称。其核心优势在于无上下文切换和无锁操作,使得即使在单线程环境下,读写速度也能达到11万次/秒和8.1万次/秒。然而,单线程设计也带来了诸多问题,如只能利用一个CPU核、删除大键可能导致服务端阻塞等。为了应对这些挑战,Redis在4.0版本引入了LazyFree技术,解决了大键删除和flush操作导致的性能瓶颈。LazyFree通过异步化处理慢操作......
阅读量:
796 次
2023-03-22
Redis和MySQL双写一致性如何保证?这个方案够优雅!
解决缓存与数据库一致性问题:基于Canal的异步更新方案近期在研究Canal的应用场景时,遇到了一个有趣的问题——如何在缓存和数据库之间实现一致性更新。经过一番思考和实践,决定结合Canal和RabbitMQ,设计一个异步更新的解决方案。下面将详细介绍实现过程和思考过程。项目背景本项目主要是为了解决缓存与数据库一致性的问题。在多并发场景下,直接将数据库更新同步到缓存可能会导致并发丢失更新的风险。因......
阅读量:
796 次
2023-03-22
Redis分布式锁真的安全吗?
Redis分布式锁详解在分布式系统中,资源竞争是一个常见的问题。为了避免多个客户端同时访问共享资源而产生的竞争和并发问题,分布式锁是一种关键的解决方案。Redis分布式锁通过在多个节点上设置锁,可以在分布式环境中实现资源的互斥访问。本文将详细探讨Redis分布式锁的实现原理、优缺点以及实际应用中的注意事项。1.分布式锁的必要性在分布式系统中,多个客户端可能部署相同的应用程序,彼此独立。普通的JVM......
阅读量:
796 次
2023-03-22
Redis分布式锁的10个坑
Redis分布式锁的实现是一个复杂而容易出错的过程。很多开发者在实现Redis分布式锁时,总是会遇到一些常见问题。本文将详细分析这些问题,并探讨如何正确地使用Redis实现分布式锁。Redis分布式锁的常见问题SetNX+EXPIRE的不原子性问题Redis的SetNX命令和EXPIRE命令虽然看起来可以用来实现分布式锁,但它们并非原子操作。如果在执行SetNX时发生异常(如进程挂载或崩溃),锁可......
阅读量:
796 次
2023-03-22
Redis分布式锁故障,我忍不住想爆粗...
Redis分布式锁实现中的NumberFormatException近期,我们的项目在Redis分布式锁实现中出现了一次严重的NumberFormatException,导致业务数据部分错乱。这次问题的根源在于自定义Redis分布式锁的实现中存在严重的设计缺陷。以下将详细分析问题所在以及如何解决。问题描述在运行过程中,系统报错信息如下:redissetNXerrorjava.lang.Number......
阅读量:
796 次
2023-03-22
Redis击穿、穿透、雪崩产生原因以及解决思路
最近我在学习Redis高并发优化,特别是关于缓存穿透和击穿的问题。通过深入理解这些概念,我意识到这些问题对系统的性能影响巨大。今天我想和大家分享我的理解和解决方案。缓存击穿是指在高并发场景下,一个热门的Key突然失效,导致后续的请求全部压力到数据库上。这种问题特别严重,比如商城在促销时,某个商品的Key突然失效,会导致大量的查询请求直接打击数据库,导致系统崩溃。缓存穿透则是指大量的查询请求试图访问......
阅读量:
796 次
2023-03-22
Redis之布隆过滤器与布谷鸟过滤器
布隆过滤器与布谷鸟过滤器:从误判到高效存储的进化之路在计算机领域,IO操作一直是性能瓶颈的主要原因。无论是框架、技术还是硬件,降低IO操作的开销一直是优化的重点。今天我们聊一聊过滤器,先从一个实际场景入手。数据库查询的效率问题在业务后端开发中,通常我们会先检查缓存是否有相关数据。如果有,则直接返回;如果没有,则需要从数据库查询。这时候一个问题就出现了:如果有很多请求是针对数据库根本不存在的数据,那......
阅读量:
796 次
2023-03-22
Redis主从、哨兵、 Cluster集群一锅端!
Redis高可用性是一个复杂的主题,涉及多个层面的技术实现。本文将从主从模式、哨兵机制以及Cluster集群等方面,深入探讨Redis的高可用性解决方案。Redis主从模式在Redis主从模式中,主从复制是实现高可用性的基础机制。主从复制包括三个阶段:建立连接、协商同步、数据传输。协商同步从库向主库发送psync命令,主库返回FULLRESYNC,携带runID和offset,标记开始全量复制。数......
阅读量:
796 次
2023-03-22
Redis中一个你绝对没用过,但是特别好用性能炸裂的数据结构,分享!
Redis最佳实践指南内存优化Redis的性能源于其数据存储在内存中的特性,但内存资源昂贵。合理规划内存可以显著提升资源利用率。以下是优化内存的关键建议:控制Key长度简短的Key名称减少内存占用。例如,将user:book:123优化为u:bk:123。避免存储大KeyString类型的值应控制在10KB以下,List/Hash/Set/ZSet的元素数量不超过1万。避免使用复杂度高的命令。选择......
阅读量:
796 次
2023-03-22
Redis、Kafka 和 Pulsar 消息队列对比
Redis、Kafka和Pulsar:消息中间件的比较与选择在现代应用开发中,消息中间件已成为处理数据流和实时通信的核心技术。Redis、Kafka和Pulsar作为三大主流消息中间件,各有其独特的优势和适用场景。本文将从技术架构、功能特性以及适用场景等方面,分析这三者之间的异同点,为开发者提供选择的依据。Redis:基础与限制Redis作为一个灵活强大的内存数据库,最初设计用于消息中间件的场景。......
阅读量:
796 次
2023-03-22
线上慎用 BigDecimal ,别被开出了
Java的BigDecimal类是一个强大的工具,用于处理高精度的数值运算。在实际应用中,尤其是涉及金融、科学计算等领域时,使用BigDecimal能够避免浮点数精度问题带来的困扰。以下将从基础到进阶详细解析BigDecimal的使用方法。一、BigDecimal概述Java提供了java.math.BigDecimal类,旨在处理超过16位有效数字的数值。双精度浮点型(double)虽然能处理1......
阅读量:
797 次
2023-03-22
RedisJson 横空出世,比 ES 快7 倍,惊爆了!
RedisJSON在性能测试中的表现令人瞩目。近期官网发布的性能测试报告显示,RedisJSON在隔离写入和隔离读取场景下的表现远超MongoDB和ElasticSearch,尤其在混合工作负载下的稳定性和吞吐量方面表现尤为突出。RedisJSON的核心优势对于隔离写入(isolatedwrites)场景,RedisJSON的性能提升尤为明显。测试数据显示,RedisJSON比MongoDB快5.......
阅读量:
796 次
2023-03-22
RedisJson 横空出世,性能碾压 ES 和 MongoDB !
RedisJSON在性能测试中表现优异,尤其是在隔离写入和读取方面,比MongoDB快5.4倍,比Elasticsearch快200倍以上。其混合工作负载下的吞吐量也远超两者,支持操作数/秒高达50.8倍。延迟方面,RedisJSON保持在亚毫秒级别,而Elasticsearch和MongoDB在高百分位数上延迟显著增加。RedisJSON的优势在于其支持自动索引更新,确保每次写入都能实时生效,这......
阅读量:
796 次
2023-03-22
Redis10大性能优化策略
Redis性能优化指南1.Redis真的变慢了吗?在实际应用中,Redis的性能可能会出现明显的变化。这种情况通常与硬件配置、命令复杂度以及网络延迟等因素有关。要准确判断Redis是否变慢,需要通过基准测试了解其在特定环境下的性能基线。基准测试通过执行RedisCLI命令,可以测试Redis实例的响应延迟。例如:./redis-cli--intrinsic-latency120输出结果显示,最大响......
阅读量:
796 次
2023-03-22
Redis 那些故障转移、高可用方案
Redis高可用架构探讨作为一名开发人员,了解Redis的高可用架构是必不可少的。Redis作为一款广泛使用的键值存储系统,在大流量场景下可能面临性能瓶颈。本文将从分区、主从复制、哨兵以及官方Cluster方案等多个维度,分析Redis高可用架构的实现方式及其适用场景。分区:简单而有效的数据分散在Redis单机模式下,当存储需求不断增加时,很快就会遇到内存瓶颈。要解决这个问题,最直接的方式就是将数......
阅读量:
796 次
2023-03-22
Redis 读写分离技术架构解析
Redis读写分离架构优化在很多实际场景中,Redis的读写分离架构被广泛应用于优化数据库性能。这种架构通过将读请求和写请求分开处理,能够显著提升系统的吞吐量。本文将详细分析读写分离的实现原理及其优势,并探讨其在实际应用中的优化策略。星型复制与链式复制的对比在读写分离架构中,数据同步方式通常分为星型复制和链式复制两种。星型复制的主要特点是每个read-onlyreplica都直接与master保持......
阅读量:
796 次
2023-03-22
上一页
下一页