/// /// 索引创建与更新 /// public class IndexManager { public static readonly IndexManager Instance = new IndexManager(); private static readonly string IndexPath = Ho...
原创 2021-07-30 09:24:51
147阅读
队列(Queue)队列,其实在我们开发过程中,我们很少使用java自己内部队列,因为我们好多时候是使用我们开发过程一些中间件,这个有很多成熟产品,性能也很好,比如:kafka,rabbitmq,redis队列,这些都比我们自己用内部队列简单多,但是我们是研究算法,可能就真的需要好好看看leetcode上一些题目了队列特点:和栈不同,队列最大特点是先进先出(FIFO),就好像
原创 2020-08-18 22:34:27
252阅读
队列(Queue)队列,其实在我们开发过程中,我们很少使用java自己内部队列,因为我们好多时候是使用我们开发过程一些中间件,这个有很多成熟产品,性能也很好,比如:kafka,rabbitmq,redis队列,这些都比我们自己用内部队列简单多,但是我们是研究算法,可能就真的需要好好看看leetcode上一些题目了队列特点:和栈不同,队列最大特点是先进先出(FIFO),就好像
原创 2020-08-18 22:35:09
396阅读
Redis用双链表list实现队列LPUSH key value [value ...] 将一个或多个值 value 插入到列表 key 表头 如果有多个 value 值,那么各个 value 值按从左到右顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c ,列表值将是 c b a ,这等同于原子性地执行 LPUSH mylist a 、
转载 2024-08-07 13:10:59
34阅读
重复消费问题:为了解决消费端因为种种原因而造成消息丢失问题,我们都知道根源在于因为RabbitMQ自动ack机制,所以为了避免以上问题,我们会选中手动ack,以确保消息不会因为某些原因而丢失。但随之而来也有一个问题:如果忘记ack,或者又因为种种原因消费者端没能给RabbitMQ对应ack,无法确认消息已经被消费完了,那这条未被“约束”消息也许就会被另一个消费者消费,就会造成重复消费问题如
转载 2023-08-15 15:47:52
122阅读
一、消息队列三个要求消息有序执行(有序性);由于网络阻塞等原因,消息不会被重复执行(幂等性);宕机后,消息不会丢失(可靠性)。二、Redis实现消息队列Redis中可以使用List或者Streams两种数据结构来满足以上消息队列要求List有序性: list本身就是先进先出,天然支持有序性(高并发时需要多个消息队列,每个队列保存同一个服务消息,对应消费该服务消息消费者);幂等性: 生产者在
转载 2023-08-15 07:02:57
106阅读
redis是现在很火缓存数据库,单线程运行使得效率很高,redis集合是一个链表式数组,并且为了支持单线程操作,所有的数组执行都是串行操作阻塞式读取,因此,可以基于redis数组实现一个消息队列。并且redis还支持发布订阅模式,也可以据此构建一个聊天系统在Redis中,List类型是按照插入顺序排序字符串链表。和数据结构中普通链表一样,我们可以在其头部(left)和尾部(right
转载 2023-05-29 11:11:14
52阅读
所谓延时队列就是延时消息队列,下面说一下一些业务场景实践场景订单支付失败,每隔一段时间提醒用户用户并发量情况,可以延时2分钟给用户发短信先来看看Redis实现普通消息队列我们知道,对于专业消息队列中间件,如Kafka和RabbitMQ,消费者在消费消息之前要进行一系列繁琐过程。如RabbitMQ发消息之前要创建 Exchange,再创建 Queue,还要将 Queue 和 Exchang
转载 2023-08-30 08:34:10
118阅读
一、消息队列简介消息队列(Message Queue),字面意思就是存放消息队列。最简单消息队列模型包括 3 个角色:消息队列:存储和管理消息,也被称为消息代理(Message Broker)生产者:发送消息到消息队列消费者:从消息队列获取消息并处理消息 消息队列和阻塞队列区别: ① 消息队列是在 JVM 以外独立服务,所以不受 JVM 内存限制 ② 消息队列不仅仅做数据存储,还需要确保
传送门#include <bits/stdc++.h>#define int long longusing names
原创
VII
2023-05-26 15:03:46
52阅读
# MongoDB 和 Redis 运用 在现代软件开发中,数据库选择直接影响应用程序性能与可扩展性。MongoDB 和 Redis 是两个流行数据库选项,它们各自有着不同优缺点和适用场景。本文将讨论它们特性、使用场景以及如何在实际代码中使用它们。 ## MongoDB 概述 MongoDB 是一个基于文档 NoSQL 数据库,使用 BSON 格式来存储数据。它支持动态模式,意
原创 2024-08-23 05:01:20
18阅读
redis管道pipeline运用
原创 2018-07-05 20:01:20
10000+阅读
1点赞
# RedisWatch机制运用 Redis是一个开源内存数据库,具备高性能和高可用性,广泛应用于缓存、队列和实时分析等场景。而RedisWatch机制是用来实现乐观锁一种重要机制,可以保证在事务执行期间数据一致性。 ## Watch机制简介 在Redis中,Watch机制是用来监视一个或多个键变化,当事务开始执行时,Redis会对这些键进行监视。如果事务执行过程中有其他客户端对
原创 2024-04-25 05:04:03
87阅读
最近在使用redis时发现总有一些消息队列中存在大量处于unacked状态消息,一般来说,如果队列中ready状态消息数比较多,可以认为是消费者处理能力不足,可以通过增加消费者来解决,而unacked消息存在基本是有以下两点原因:消费者取走消息后没有及时做消息确认,对于开启手动确认机制,不进行ack则消息会一直以unacked状态留在队列中。消费者处理能力不足。生产者投放消息速度较快,
一:对于Redis理解,之前一直停留在缓存层面上,这是因为它常被人当着缓存来用,除了缓存,我们需要了解它其他功能。1:Redis缓存,主要作用在分布式缓存解决问题 2:消息队列3:发布订阅4:redis-分布式锁5:redis-cluster集群对以上5个功能深入了解,才会发现redis强大之处。当如也有一些关于redis其他问题,是面试常见。1:redis类型有哪些2:r
转载 2023-07-09 15:31:33
29阅读
消息队列介绍、RabbitMQ、Redis一、什么是消息队列  这个概念我们百度Google能查到一大堆文章,所以我就通俗讲下消息队列基本思路。  还记得原来写过Queue文章,不管是线程queue还是进程queue他都是一种消息队列。他都是基于生产者消费者模型来处理消息。  Python中进程queue,是用于父进程与子进程,或者同属于一个父进程下多个子进程之间进行信息交互。注意这种q
Redis消息队列若干实现方式最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用都是PhpRedis扩展来实现。内存比如要推送一条全局消息,如果真的给所有用户都推送一遍的话,那么会占用很大内存,实际上不管粘性有多高产品,活跃用户同全部用户比起来,都会 小很多,所以如果只处理登录用户的话,那么至少在内存消耗上是相当划算,至于未登录
转载 2024-06-24 23:30:09
11阅读
Redis是否可以作为消息队列  分布式系统中必备一个中间件就是消息队列,通过消息队列我们能对服务间进行异步解耦、流量消峰、实现最终一致性。目前市面上已经有 RabbitMQ、RochetMQ、ActiveMQ、Kafka等,有人会问:“Redis 适合做消息队列么?”在回答这个问题之前,我们先从本质思考:消息队列提供了什么特性?R
转载 2024-07-23 19:23:01
21阅读
题目 题目:cf536 B题 题目大意:一个饭店有n种食物,每种食物有对应价格和数量,然后有m个顾客,每个顾客需要$d_j$份第$t_j$种食物,如果该种食物数量不够,则选其它尽可能便宜代替(出现同样价格应选索引最小);如果所有的食物都不够该顾客,该顾客会吃完这些食物,并且不花钱。假设只有当
转载 2019-02-01 15:17:00
23阅读
2评论
题目 题目: Lunar New Year and a Wander 题目大意:给定一个n个顶点(编号1~n)、m条边图,求从顶点1出发字典序最小路径(途径边可重复)。 思路 使用一个优先队列就足够了。当访问一个节点,我们将与之相连、未被访问节点加入队列,每次取优先队列队首进行访问。即
转载 2019-02-01 16:39:00
19阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5