排序
如何设计一个缓存策略,可以动态缓存热点数据呢?
由于数据存储受限,系统并不是将所有数据都需要存放到缓存中的,而只是将其中一部分热点数据缓存起来,所以我们要设计一个热点数据动态缓存的策略。 热点数据动态缓存的策略总体思路:通过数据...
Redis除了做缓存,还能做什么?
分布式锁:通过 Redis 来做分布式锁是一种比较常见的方式。通常情况下,我们都是基于 Redisson 来实现分布式锁。 限流:一般是通过 Redis + Lua 脚本的方式来实现限流。 消息队列:Redis 自带的...
分布式系统中的秘密武器:消息队列的应用场景解析
消息队列作为分布式系统中的重要组成部分,已经在多个领域发挥了关键作用。 本文将分析几种常见的消息队列应用场景。 数据缓冲 在许多应用中,消费者组件可能不能快速处理大量的数据。 在这种情...
Redis如何为List/Set/Hash的元素设置单独的过期时间
1. 引言 1.1 消费队列 这天,不念在购买火车票时,发现如果存在一个未支付的订单时,就不能再进行购票了。如果把待支付的订单放在一个队列里面,那么队列的长度就只能是 1. 正好最近用 Redis 比...
什么是消息中间件
消息中间件(Message Broker)是一种在分布式系统中用于传递消息、通知和事件的基础架构组件。 它允许不同组件、应用程序或系统之间异步地交换数据和信息,以实现削峰、解耦和可扩展的通信。 消...
如何设计一个线程池
设计一个线程池涉及到多个方面,包括线程的创建与销毁、任务的提交与执行、线程间的通信等。 以下不念给出的是一个简单的线程池设计思路: 线程池的结构:创建一个线程池类,其中包含一个任务队...
深刻理解linux进程间通信(Linux进程通信的方式简介)
Linux进程间通信(Inter-process Communication,IPC)是指在独立的进程之间传递数据和信息的机制。 在Linux系统中,有多种进程间通信方法,包括管道、消息队列、信号、共享内存、套接字和信号...