Redis的原子性有两点:1.单个操作的原子性2.多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来原子操作的意思就是要么成功执行要么失败完全不执行。用现实中的转账比喻最形象,你转账要么成功,要么失败钱不动,不存在你钱转出去了,但收款方没收到这种成功一半失败一半的情况。在Redis中, ...
分类:
其他好文 时间:
2018-12-29 21:03:39
阅读次数:
222
Engine:引擎,处理整个系统的数据流处理、触发事务,是整个框架的核心。 Item:项目,定义爬虫结果的数据结构,爬去的数据被赋值为该item对象。 Scheduler:调度器,接受引擎发过来的请求并将其加入队列中,在引擎再次请求时将请求提供给引擎。 Downloader:下载器,下载网页内容,并 ...
分类:
其他好文 时间:
2018-12-25 20:19:34
阅读次数:
126
目录 非阻塞队列 阻塞队列 双端队列 非阻塞队列(AbstractQueue) 队列介绍 1 ConcurrentLinkedQueue 先进先出队列 2 PriorityQueue 非并发的优先队列 非阻塞队列方法 1 add(E e) 将元素e插入队列末尾,如果插入成功,返回true;如果插入失 ...
分类:
其他好文 时间:
2018-12-24 00:01:20
阅读次数:
129
无锁队列 介绍 在工程上,为了解决两个处理器交互速度不一致的问题,我们使用队列作为缓存,生产者将数据放入队列,消费者从队列中取出数据。这个时候就会出现四种情况,单生产者单消费者,多生产者单消费者,单生成者多消费者,多生产者多消费者。我们知道,多线程往往会带来数据不一致的情况,一般需要靠加锁解决问题。 ...
分类:
其他好文 时间:
2018-12-23 17:53:55
阅读次数:
224
问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0)初始队列中学生的学号依次为1, 2, ...
分类:
其他好文 时间:
2018-12-18 15:48:45
阅读次数:
219
应用场景 之前我们已经通过 "《Spring Cloud Stream消费失败后的处理策略(一):自动重试》" 一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试功能:重新入队。 动手试试 准备一个会消费失败的例子,可以直接 ...
分类:
编程语言 时间:
2018-12-18 02:36:11
阅读次数:
289
LinkedTransferQueue和SynchronousQueue类似,可以把它看成是SynchronousQueue和LinkedBlockingQueue的超集。 LinkedTransferQueue中offer()、put()把元素入队,直接返回;transfer()方法 no mat ...
分类:
其他好文 时间:
2018-12-15 00:17:30
阅读次数:
177
ccf 201703-2 学生排队 问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0) ...
分类:
其他好文 时间:
2018-12-11 12:58:37
阅读次数:
177
七彩拼图团队 换出队员:苏芳锃 换入队员:吴志鸿 原队员在组内主要负责项目logo的设计与实现,项目图片的收集整理。换入的队员主要负责优化数据库结构、提供数据库数据查询接口。在交换队员的第二天就开了会,让大家互相认识一下,所以新队员在融入队伍时基本没有障碍。之后还规划发布了未来的主要工作。队伍未来的 ...
分类:
其他好文 时间:
2018-12-07 22:32:54
阅读次数:
216