Redis 源码阅读篇一、Redis源码目录结构首先,我们来了解下 Redis 的目录结构。 为什么要从目录结构开始了解呢?其实,这是我自己阅读代码的一个小诀窍:在学习一个 大型系统软件的代码时,要想快速地对代码有个初步认知,了解系统源码的整体目录结构就是一个行之有效的方法。这是因为,系统开发者通常会把完成同一或相近功能的代码文 件,按目录结构来组织。能划归到同一个目录下的代码文件,一般都是具有相
转载
2023-07-10 22:18:19
39阅读
本篇主要介绍 Redis 内存优化的一些技巧。1.内存消耗1、内存使用统计Redis 可以通过 info memory 命令来查看内存使用情况,属性说明如下:属性名属性说明used_memoryRedis 分配器分配的内存量,也就是实际存储数据的内存总量used_memory_human以可读格式返回 Redis 使用的内存总量used_memory_rss从操作系统的角度,Redis 进程占用的
转载
2023-05-25 14:45:44
252阅读
谈到发布订阅模式,相信不会陌生,典型的观察者模式的实现。然而从表面来看,本地实现一个wait/notify通知、register/update调用, 实现一个远程mq服务, 还有本文说的 pub/sub, 其实道理都差不多。只是,同样的需求,针对不同的环境,实现上往往是有天壤之别的。所以,我们就来看看 redis 的 pub/sub 是如何实现的吧!零、redis发布订阅相关概念介绍Redis 发
转载
2021-06-05 21:14:39
458阅读
redis的发布订阅(pub/sub)是一种消息通信模式,由发布者(pub)发布消息
原创
2023-03-01 16:43:13
84阅读
redis sub/pub 踩坑系列: 首先, 我们先了解相关知识 redis sub/pub(消息订阅) 是一种消息通信模式,pub是发送消息(生产者),,pub 是接收者(消费者)。其中,还隐藏着channel(通信频道)、联系,pub 通过多个 channel 发送给 sub,sub 最终进行消费优劣对比 优势: 可监听多个通信频道, 可多个消费着消费 缺点: 数据可靠性无法保障, 因
原创
2023-05-25 14:30:54
224阅读
redis作为内存数据库,大多时候都是作为缓存来使用,但是因为有pub/sub的存在,所以也可以做MQ来使用。做为MQ,它有两个严重的问题: 1.无法持久化; 2.没有ack机制;redis pub/sub是一个要即时消费的MQ,如果消费晚了,数据就会丢失。因此在使用redis pub/sub作为MQ的时候,我们通常要用一个线程轮询去sub,丢到内存队列中等待处理线程去处理,这带来了消费者服务资源
转载
2023-09-22 17:38:48
248阅读
Redis pipeline与Pub/SubRedis全称是 remote dictionary server ,本质上是一个key value类型的内存数据库,因为是纯内存的操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作。但如果没用好,每秒10万次的读写效率也是发挥不出来的。而管道技术尤为显著提高了 redis 服务的性能。管道pipeline
什么是管道pipeline 可以
一、发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher)。 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候,我们称这个客户端为订阅者(subscriber)。为了解耦发布者(publisher)和订阅者(subscriber)之间的关系,Redis 使用了 channel (频道)作
转载
2022-12-28 11:11:22
46阅读
为什么还要发布订阅模型?前面我们讲了Redis消息队列的使用方法,但是没有提到Redis消息队列的不足。Redis消息队列的一个很大的不足就是无法支持消息的多播机制,正因为如此,Redis才提出了发布订阅模型!消息多播 消息多播允许生产者值生成一次消息,由中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费。PubSub 为了支持消息多播,Redis不能再依赖基本的数据类型实现
转载
2023-08-15 22:27:59
248阅读
一、什么是pub/sub? publish/subscribe ,即发布订阅功能。基于实践系统中,是常用的通信模型,采用事件做为基本的通信机制,提供大规模系统要求的松散耦合的交互方式。订阅者,以事件定义的方式表达出它有兴趣接受的一个时间或一类事件。发布者,发布事件并通知相关订阅者。 同时,pub/sub也是一个消息通信模式,主
转载
2023-07-21 09:42:01
0阅读
如何使用Redis做异步队列?使用List作为队列,RPUSH生产消息,LPOP消费消息缺点:没有等待队列里有值就直接消费弥补:可以通过在应用层引入Sleep机制去调用LPOP重试BLPOP KEY【key...】 timeout:阻塞直到队列有消息或超时缺点:只能供一个消费者消费pub/sub:主题订阅者模式发送者发送消息,订阅者接收消息缺点:消息的发布是无状态的,无法保证可达,如订阅者下线后,
一、发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher)。 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候,我们称这个客户端为订阅者(subscriber)。为了解耦发布者(publisher)和订阅者(subscriber)之间的关系,Redis 使用了 channel (频道)作
转载
2022-12-14 17:09:02
54阅读
# 如何实现Redis Pub/Sub
## 概述
在Redis中,Pub/Sub(发布/订阅)是一种消息传递模式,可以让多个客户端通过消息通道进行通信。在这里,我将向你介绍如何使用Redis来实现Pub/Sub功能。
## 流程
下面是实现Redis Pub/Sub的基本流程:
| 步骤 | 描述 |
| ---- | ---- |
| 1 | 创建Redis连接 |
| 2 | 创建发布
Redis 的pub/sub机制与23种设计模式中的观察者设计模式极为类似。但Redis对于这个机制的实现更为轻便和简结,没有观察者模式的那么复杂的逻辑考虑而仅仅需要通过两个Redis客户端配置channel即可实现,因此它也仅仅做了消息的"发布"和"订阅"的实现,而在实际处理这类场景时遇到的情况根本没有考虑到。数据可靠性无法保证 一个redis-cli发布消息n个redis-cli接受消息。消息
转载
2023-09-26 12:45:15
39阅读
# Redis Pub/Sub性能
## 简介
Redis(Remote Dictionary Server)是一个开源的键值对存储数据库,常用于构建高性能的应用程序。Redis提供了许多功能,其中之一是发布/订阅(Pub/Sub)模式。
发布/订阅模式是一种消息传递模型,其中消息发布者发送消息到一个或多个频道,而消息订阅者可以订阅一个或多个频道以接收消息。Redis提供了强大的发布/订阅功
原创
2023-08-01 16:13:15
239阅读
# Redis 查看所有 sub 的实现流程
## 介绍
在使用 Redis 进行发布-订阅(Publish-Subscribe)模式时,我们需要查看当前所有已订阅的频道(sub)列表。本文将介绍如何使用 Redis 命令行工具或者编程语言中的 Redis 库来实现这一功能。
## 流程步骤
下面是实现 Redis 查看所有 sub 的流程步骤,我们将通过一个表格展示每一步所需的代码和解释
原创
2023-12-26 07:30:24
84阅读
# Redis Pub/Sub Acknowledgement
## Introduction
Redis is an open-source, in-memory data structure store that is commonly used as a database, cache, and message broker. One of the key features of Red
Redis 不但支持多种数据类型,能满足很多的业务场景,而且 Redis 还支持类似 Pub/Sub (发布与订阅) 这样的高级功能。如下图。 上图中用红色圈中的部分,就是关于 发布与订阅 相关的命令。如果想要在 Redis 中查看相关的命令可以使用 help 命令来进行查看,命
原创
2022-04-07 13:41:39
468阅读
文章目录pub/sub频道订阅消息的格式模式匹配订阅同时符合模式和频道订阅的消息模式匹配的订阅计数的意义参考文献 pub/sub发布者将消息发布到channels,而不用关心订阅者是谁。 订阅者可以订阅一个或多个channels,并且值接收订阅channels的消息,而不关心是谁发布的。 消息的发布者和订阅者之间是解耦的。客户端执行订阅以后,除了可以继续订阅(SUBSCRIBE或者PSUBSCR
转载
2023-09-16 15:36:47
55阅读
详细介绍了Redis 的Pub/Sub的相关命令和优缺点,以及如何实现简单的消息队列。 文章目录1 Pub/Sub的概述2 订阅3 取消订阅4 模式匹配5 发布6 Pub/Sub原理6.1 pubsub_channels6.2 pubsub_patterns7 Pub/Sub缺点 1 Pub/Sub的概述我们可以利用Redis的List数据结构实现一个简单的消息队列,通过lpush命令写入消息,通
转载
2023-07-10 23:37:57
137阅读