延迟队列就是个带延迟功能的消息队列,相对于普通队列,它可以在指定时间消费掉消息。延迟队列的应用场景:1、新用户注册,10分钟后发送邮件或站内信。2、用户下单后,30分钟未支付,订单自动作废。我们通过redis的有序集合zset来实现简单的延迟队列,将消息数据序列化,作为zset的value,把消息处理时间作为score,每次通过zRangeByScore获取一条消息进行处理。class Delay            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 12:02:35
                            
                                89阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            常用消息队列对比RabbitMQRabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。RedisRedis是一个基于Key-Value对的NoSQL数据库,开发            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-04 08:20:29
                            
                                28阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文展示具体的使用方法和问题,供大家参考。代码示例,仅仅是Demo,在生产使用需要考虑更多细节问题。1. 延时队列zset 会按 score 进行排序,如果 score 代表想要执行时间的时间戳。在某个时间将它插入zset集合中,它变会按照时间戳大小进行排序,也就是对执行时间前后进行排序。起一个死循环线程不断地进行取第一个key值,如果当前时间戳大于等于该key值的score就将它取出来进行消费删            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-12 10:50:46
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天业务部门往codis集群中插入数据,数据量很大几个亿,codis界面看到的Performace:10 OP/s基本为个位数,很慢,后来发现codis proxy的链接数很小,   39 ESTABLISHED不太正常,排查后发现proxy服务器/proc/sys/net/core/somaxconn 对应的值128,我的reids节点都已经设置了,proxy忘记了设置,因为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 16:38:18
                            
                                15阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            官网: #Redis 配置文件示例。#注意,为了读取配置文件,Redis 必须是 #以文件路径作为第一个参数开始:#./redis-server /path/to/redis.conf#单位注意事项:当需要内存大小时,可以指定 #它以通常的形式 1k 5GB 4M 等等:#1k => 1000 字节 #1kb => 1024 字节 #1m => 1000000 字节 #1mb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-28 17:39:20
                            
                                5阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 使用 Redis 设置队列大小的指南
## 引言
Redis 是一个高性能的开源内存数据库,广泛应用于缓存、队列等场合。这篇文章将指导你如何使用 Redis 设置队列大小的功能,让你入门更顺利。
## 流程概述
下面是使用 Redis 设置队列大小的基本步骤:
| 步骤 | 描述                                      |
|------|-----            
                
         
            
            
            
            # 如何实现“redis订阅队列大小”
## 一、整体流程
```mermaid
journey
    title 开发redis订阅队列大小功能
    section 完成以下步骤
        - 创建redis连接
        - 订阅一个频道
        - 获取当前队列大小
    section 结束
```
## 二、步骤及代码示例
### 1. 创建redis            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-25 06:01:08
                            
                                19阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Redis 设置队列大小
## 介绍
在本文中,我将教会你如何使用Redis设置队列的大小。首先,我们需要了解整个过程的流程。然后,我将逐步指导你完成每一步,并提供相应的代码和注释。
## 流程
下面是实现“Redis设置队列大小”的流程示意表格:
| 步骤 | 描述 |
| ---- | ---- |
| 步骤1 | 连接到Redis服务器 |
| 步骤2 | 创建队列 |
| 步骤3            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-20 08:08:10
                            
                                150阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 实现“redis zset队列大小”的方法
## 一、流程图
```mermaid
sequenceDiagram
    小白->>开发者: 请问如何实现“redis zset队列大小”?
    开发者-->>小白: 好的,我来教你。
    开发者->>小白: 下面是整个流程:
    小白->>开发者: 感谢您的指导!
```
## 二、步骤
| 步骤 | 操作 |
| ---            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-02 05:29:12
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录redis list 设置队列大小判断某个list是否设置了maxlen报错:"ERR unknown command `LIST`, with args beginning with: `MAXLEN`,go程序中设置redis list固定长度Go语言pipeline中如何为Redis列表设置最大长度限制? redis list 设置队列大小Redis列表类型的最大长度(maxlen            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 15:21:29
                            
                                205阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            kafka是个日志处理缓冲组件,在大数据信息处理中使用。和传统的消息队列相比较简化了队列结构和功能,以流形式处理存储(持久化)消息(主要是日志)。日志数据量巨大,处理组件一般会处理不过来,所以作为缓冲曾的kafka,支持巨大吞吐量。为了防止信息都是,其消息被消防后不直接丢弃,要多存储一段时间,等过期时间过了才丢弃。这是mq和redis不能具备的。主要特点入下:巨型存储量: 支持TB甚至PB级            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 19:13:23
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Redis Cluster 能保存的数据量以及支撑的吞吐量,跟集群的实例规模密切相关。Redis 官方给出了 Redis Cluster 的规模上限,就是一个集群运行 1000 个实例。为何要限制集群规模呢?因为,实例间的通信开销会随着实例规模增加而增大,在集群超过一定规模时(比如 800 节点),集群吞吐量反而会下降。所以,集群的实际规模会受到限制。实例通信方法对集群规模的影响Redis Clu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-18 22:45:56
                            
                                152阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis的list类型其实就是一个每个子元素都是string类型的双向链表。链表的最大长度是(2的32次方)。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。有意思的是list的pop操作还有阻塞版本的,当我们[lr]pop一个list对象时,如果list是空,或者不存在,会立即返回nil。但 是阻塞版本的b[lr]pop可以则可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-25 15:53:06
                            
                                187阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前面一篇文章介绍了redis对list的操作,为什么要特别介绍list呢?没错,本篇文章就是要用redis的list做消息存储的队列问题缘由:最近在开发中,遇到了一个问题,客户端和后台交互,其中有一个步骤是后台发送网络请求,调用一个外部系统,日志里面打印出每个请求耗时:客户端和内部后台一次请求完成时间是在100ms以内,和外部系统交互的时间是几千ms甚至更多,也就是说,绝大多数的处理时间几乎都浪费            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 16:18:55
                            
                                184阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            限制内存大小查看当前运行的 Redis 所使用的配置文件windows直接打开任务管理器查看linuxps -ef | grep redis没有配置内存大小或配置为 0 的话,32 位系统上默认为 3G,64 位系统上无限制。所以一般都要配置一下,单位是 bytes 字节。推荐设置为物理内存的 3/4,类似 HashMap 的负载因子。 取消持久化先删除原有的 dump.rdb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-08 19:09:46
                            
                                135阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Redis Stream 默认队列大小科普
Redis Stream 是一个高效且功能强大的数据结构,广泛用于消息队列和事件流处理。由于其良好的高并发性能和持久化特性,Redis Stream 在实时数据处理和微服务架构中得到了广泛应用。本文将深入探讨 Redis Stream 的默认队列大小以及如何使用其基本功能。
## Redis Stream 介绍
Redis Stream 是在            
                
         
            
            
            
            Redis在单机模式时,使用数据结构dict来实现数据库。  Redis在集群模式时,也是使用数据结构dict来实现数据库,但是集群模式对于数据库有其他需求,包括数据的节点无关性、内部操作对客户端需要屏蔽、冗余备份等,并且在一定的情况,数据还需要在不同的节点间实现迁移。  在所有模式下,Redis的节点数据的备份都是使用备份来实现的。这个暂时不深入。Redis引入的slot来解决如何实现集群模式下            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-30 13:29:32
                            
                                95阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景:最近有个需求是跟第三方对接事故报案,事故报案单状态是由kafka来实现发布订阅的。具体是这样的,事故报案双方都可以发起,如果是第三方发起的事故报案,我们接到kafka推送的状态后,需要创建一张事故报案单,如果是我们发起的事故报案,第三方也需要创建一张事故报案单。因为我们创建事故报案单后,还有后续流程要走,导致当消费该报案单第一个状态的时候,事故报案单还没有创建完成,其结果就是该消息没有被成功            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-28 14:17:09
                            
                                112阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言学习线程池的思维导图         线程池是什么?它有什么用? 虽然线程比进程更轻量级,但是每个进程所占的资源空间是有限,如果我们频繁创建和销毁线程也会消耗很多CPU资源,那么我们该如何解决这个问题呢?线程池就是提前准备好线程,我们创建线程可以直接在线程池中去拿,用完了还给线程池.这样会比从系统中申请更高效吗?答案是会的,因为我们直接从线程池中取线程是纯用户态(更及时一些)操作,而从系统申请            
                
         
            
            
            
            环境:之前一直是使用serverStack.Redis的客服端,今天来使用一下StackExchange.Redis(个人感觉更加的人性化一些,也是免费的,性能也不会差太多),版本为StackExchange.Redis V2.1.58 ,Core3.1Redis(Remote Dictionary Server ),即远程字典服务是一个开源的 ,由C语言编写、支持网络、可基于内存亦可持