缓存同步 大多数情况下,浏览器查询到的都是缓存数据,如果缓存数据与数据库数据存在较大差异,可能会产生比较严重的后果。 所以我们必须保证数据库数据、缓存数据的一致性,这就是缓存与数据库的同步。 数据同步策略 缓存数据同步的常见方式有三种: 设置有效期:给缓存设置有效期,到期后自动删除。再次查询时更新 优势:简...
延迟双删:也就是在A线程更新完数据库之后,sleep一段时间,再次将缓存中的数据进行删除,这样后续的读取操作就是从数据库中读取到新值,回写给缓存;那么这个sleep的值应该设置为多少呢?就需要根据时间情况来定,一般就是稍大于B线程的操作时间。 方案一:Redis设置key的过期时间。 方案二:采用延时双删策略 (1)先淘汰...
那这期面试题必须要会,请描述一下Redis的缓存淘汰策略 02:55 【Java面试】当任务数超过线程池的核心线程数时,如何让它不进入队列? 02:31 【Java面试】Java高频面试题,可以说下阻塞队列被异步消费怎么保持顺序吗? 02:22 【Java面试】多线程面试必刷题,线程池是如何实现线程复用的? 02:47 【Java面试】...
【5分钟背八股】24:redis的过期键有哪些删除策略? 08:01 【5分钟背八股】25:击穿、穿透、雪崩、预热解决方案? 05:26 【5分钟背八股】26:redis缓存如何回收? 04:55 【5分钟背八股】27:kafka的rebalance机制是什么? 05:12 【5分钟背八股】28:kafka是pull还是push及优劣分析?
Kafka之所以能够实现如此高的吞吐量和低延迟,是因为它在设计和实现上采用了一些优化策略和特性,使其能够有效地处理大量的数据并保持高性能。以下是一些原因: 3.1 零拷贝技术 Kafka使用零拷贝技术,利用DMA使设备直接访问系统内存,避免了数据在内存和网络之间的多次复制。这减少了数据传输的开销,提高了数据传输的效率。
2. 延迟优化 队列配置优化:调整消息队列的参数配置,减少消息投递和消费的延迟。 消息压缩:对消息进行压缩,减少传输时间。 3. 过载保护 流控:在生产者消息发布过快时,消息队列可以采用流控策略,限制消息的接收速率,避免队列过载。 消息优先级:为不同类型的消息设置优先级,确保高优先级的消息能够优先消费。 十一、消息...
第一种方案:采用延时双删策略+缓存超时(会背) 在写库前后都进行 redis.del(key)操作,并且设定合理的超时时间 先删除缓存; 再写数据库; 根据业务休眠 n 毫秒; 再次删除缓存; 给缓存设置过期时间(保证最终一致性)。 第二种方案:异步更新缓存(基于订阅 binlog 的同步机制)(会背) 订阅MySQL 的 binlog,读取 bi...
同时还要能够提供加密功能对重要或敏感数据进行加密处理来保证消息数据的安全。通过命名空间对存储配额、流量控制、消息过期策略进行控制。 丨性能要求 在不同应用场景下进行测试,对吞吐量、时延、集群加速比三个指标进行考量。 测试包括在指定并发数和消息大小的前提下,分布式消息队列在不同场景下的吞吐量; ...
分区倾斜与延迟降低:通过随机选择另一个分区并在后续的消息尽可能地使用该分区的策略,可以避免消息出现分区倾斜,同时还可以降低延迟,提升服务整体性能。 消息服务的创建与管理:在云原生应用中,可以通过消息服务MNS控制台创建和发送队列模型,包括配置名称、消息最大长度、长轮询时间等参数。这有助于简化消息服务的管理过程...