Redis列表类型_节点动态java精修学校

据说有60%的人使用redis看Redis列表类型,什么是这个列表的使用不用说,大家都知道排队是用的。我为什么要用它这很简单。因为没有它,我不需要特殊的MQ产品,比如ActiveMQ和RabbitMQ,等等。这是正确的。

第一,真正的战斗

让我们看看列表给我们的方式。



这些方法仍然有一些困惑,不要紧,你使用队列,也常用于四:LPOP、LPUSH、农作物,RPUSH,从四以上的话,你应该明白这是一个有点像它的双端队列的数据结构,因为我可以在流行或推左边,而且对流行或推,那这样的话,我可以把列表到队列或者堆栈,哈哈,是不是很有意思,我举一个例子:我把名单顺序分为10, 20, 30、40, 50,然后从队列的另一头依次输出10, 20, 30,40, 50。


顺便说一下,让我谈谈我们当前项目中使用列表的情况。

1。由于WCF在项目中使用的数量大,导致过度的维护和更新配置,基于这种繁琐的,我们把所有的WCF请求可以被异步处理,掉到Redis列表,网站配置配置清爽不想。

2,另一个业务是淘宝的订单催付款,付款提醒,收到提醒,接收提醒等。采用轮询列表,大大降低了代码的复杂度。

好吧,这可能是列表的使用,让我们看看这是怎么做的。

两。勘探原理

这个源代码是adlist C,如下图所示。



如果您已经学习了数据结构的列表,我想您可以阅读它。

思路:

显然,这是一个节点节点。可以看出,它有一个prev指针和指针指向下一个节点,分别为前体和接班人,然后有一个void *类型的值。

它存储的是我们所说的SDS类型的枚举。

列表

这个列表有趣的地方是里面有一个头和尾节点。可以想象,尾巴是列表的尾部节点。如果它有这个节点是什么意思它表明你删除尾结点的复杂性是O(1),与同一头,而你删除头节点以及O(1)。这是LPush,LPop,RPush和农作物现在。是的,列表中还有一个镜头属性,就是记录当前列表中元素的个数。在这种情况下,您所计算的列表数也是O(1),对吗

redisobject有PTR指针,它指向文章列表。嗯,根据各种摘要,我应该能画出下列图片:


以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。