Redis实现分布式锁与任务队列的思路,附上源代码 文章步骤很详细较长,阅读完需有5分钟~ 一、正文 大家都知道在天猫、京东、苏宁等等电商网站上有很多秒杀活动,例如在某一个时刻抢购一个原价1999现在秒杀价只要999的手机时,会迎来一个用户请求的高峰期,会有几十万几百万的并发量,来抢这个手机,在高并 ...
分类:
其他好文 时间:
2020-07-12 10:32:35
阅读次数:
65
Redis事务 Redis 事务可以一次执行多个命令,(按顺序的串行化执行,执行中不会被其它命令插入,不许加塞) 简介 Redis事务可以一次执行多个命令(允许在一次单独的步骤中执行一组命令),并且带有以下两个重要的保证: 批量操作在发送EXEC命令前被放入队列缓存; 收到EXEC命令后进入事务执行 ...
分类:
其他好文 时间:
2020-07-08 23:18:34
阅读次数:
72
1 队列 Queue-基本介绍 队列的说明 1)队列是一个有序列表,在底层可以用数组或是链表来实现。 2)其输入和输出要遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 3)在Scala中,由设计者直接给我们提供队列类型使用。 4)在scala中, 有 scala.collect ...
分类:
其他好文 时间:
2020-07-07 23:42:55
阅读次数:
78
MQ主要流程 解耦,异步,消峰 其中目的地主要为队列或者主题 队列点对点 消息的生产者 或者 这时消息的生产者名字已经出来 并且入队的数量变成了3 上述完成的也就是这部分 消息的消费者 前四步大同小异 这里需要和消息发送者的类型一致,所以需要强转一下 其中等待接收可以设置为一直等或者设置时长 最后再 ...
分类:
其他好文 时间:
2020-07-06 12:33:08
阅读次数:
64
一道队列广搜题 此题使用队列实现,现将初始状态加入到空的队列当中;然后每次取出对首,找出队首所能转移到的状态,再将其压入队列;如此反复,这样就能保证一个状态在被访问的时候一定是采用的最短路径。 广度优先搜索的一般形式 这里是使用队列实现广度优先搜索的一般形式: Q.push(初始状态);//将初始状 ...
分类:
其他好文 时间:
2020-07-06 10:32:54
阅读次数:
62
1.单个线性表+位置指针: //栈 int stack[LEN],top=-1; //入栈 stack[++top]=x; //出栈 x=stack[top--];//队列int queue[LEN],front=0,last=0;//入队queue[last++]=x;front=(front+1 ...
分类:
其他好文 时间:
2020-07-05 23:26:40
阅读次数:
112
队列是一种基本的数据结构 基本概念 队列(Queue):具有一定操作约束的线性表 只能在一端插入,而在另一端删除 数据插入:入队列(AddQ) 数据删除:出队列(DeleteQ) 先进先出:First In First Out(FIFO) 抽象数据类型描述 类型名称:队列 数据对象集:一个有0个或多 ...
分类:
其他好文 时间:
2020-07-05 19:11:44
阅读次数:
64
#一.栈 如图: ##①栈顶指针移动 ##②进栈代码: ##③出栈代码: ##④各种条件: ##⑤共享栈: #二.队列 如图: ##①入队出队操作示意图 ##②循环队列示意图 ##③队列各种条件 ##④出入队代码: ##⑤链式出入队 ##⑥双端队列 #三.压缩矩阵 ##①对称矩阵 ##②三角矩阵 # ...
分类:
其他好文 时间:
2020-07-04 17:19:40
阅读次数:
177
Bellman_ford算法可以存在负权回路,是因为其循环的次数是有限制的因此最终不会发生死循环; 但是SPFA算法不可以,由于用了队列来存储,只要发生了更新就会不断的入队,因此假如有负权回路请你不要用SPFA否则会死循环。 Bellman-Ford算法 时间复杂度O(nm),n表示点数,m表示边数 ...
写在前面:图论题的调试真感人 让我们进入正题 ##最短路是啥 emmm 顾名思义最短路就是求一个点到另外一个点的最小距离 一般来说最短路分为:单源最短路和多源最短路 单源最短路就是求一个源点到另外多个点的最短距离 而多源最短路就是求多个点到其他点的最短距离 算法一般有: floyd(多源 O(\(n ...
分类:
其他好文 时间:
2020-07-03 21:51:41
阅读次数:
83