redis队列操作命令,redis 循环队列

redis队列操作命令,redis 循环队列,redis实现简单队列

这篇文章主要为大家详细介绍了再说一遍实现简单队列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在工作中,时常会有用到队列的场景,比较常见的用拉比特这些专业的组件,官网地址是:http://www。rabbitmq。com,重要的是官方有。净得很的客户端,但是如果对拉比特不熟悉的话,建议使用第三方封装好的easynetq,rabbitmq。简单的网络智商,兔子。简单的网络智商,兔子。简单的网络智商,兔子比较适合对安全性,稳定性要求较高的地方,但有时我们也会有对这方面要求不是很高的场景,比如:文章阅读数,实时性要求不是很高的地方,所以我想到了用再说一遍来做队列。

再说一遍的列表(列表)结构本身就是一个链表(双向链表),所以符合我们的队列先进先出的要求。

我用的是堆叠交换(堆栈交换)。再说一遍这个组件来操作瑞迪斯,以前一直用服务部门堆栈。先生,redis先生,后来该类库升级后对个人使用有次数限制,需要付费使用才能没有调用限制。

操作再说一遍简单封装如下:

公共静态类修复

{

公共静态int I=0;

专用静态字符串重新连接循环=配置管理器.AppSettings[重新连接环。tostring();

专用静态惰性连接多路复用器lazyConnection=新建惰性连接多路复用器(())

{

(i);

返回连接多路复用器连接(重新连接环):

});

公共静态连接多路复用器实例

{

得到它

{

返回惰性连接.价值;

}

}

}

有了这个操作类后,我们就可以操作再说一遍了,简单的对列表(列表)的操作如下:

///摘要

///简单再说一遍队列

///摘要

公共类简单再版

{

public see leftpush(字符串键,字符串值)

{

var redis=redishelper .实例。GetDatabase():

再说一遍ListLeftPush(key,value):

}

公共字符串右键弹出

{

var redis=redishelper .实例。GetDatabase():

返回里兹ListRightPop(关键点):

}

}

测试代码如下:

首先需要一个生产数据的程序

静态空干管(字符串[]参数)

{

系统。执行绪。任务。Task.Factory.StartNew(())

{

for(var I=0);99999999(一)

{

新WLX .简单实用。雷迪斯。simpleredisqueue().LeftPush(test1 , a _ I . tostring());

}

});

系统。执行绪。任务。Task.Factory.StartNew(())

{

for(var I=0);99999999(一)

{

新WLX .简单实用。雷迪斯。simpleredisqueue().LeftPush(test1 , b _ I . tostring());

}

});

系统。执行绪。任务。Task.Factory.StartNew(())

{

for(var I=0);i 9999(一)

{

新WLX .简单实用。雷迪斯。simpleredisqueue().LeftPush(test1 , c _ I . tostring());

}

});

系统。执行绪。任务。Task.Factory.StartNew(())

{

for(var I=0);99999999(一)

{

新WLX .简单实用。雷迪斯。simpleredisqueue().LeftPush(test1 , e _ I . tostring());

}

});

系统。执行绪。任务。Task.Factory.StartNew(())

{

for(var I=0);99999999(一)

{

新WLX .简单实用。雷迪斯。simpleredisqueue().LeftPush(test1 , f _ I . tostring());

}

});

控制台(控制台).read key();

}

然后有消费队列的程序:

静态空干管(字符串[]参数)

{

var queue=new simpleressqueuse();

while(真)

{

var v=伫列右弹出(‘测试1’);

控制台(控制台).WriteLine(v==null)?我不知道空:;

}

}

测试结果截图

对可靠性和稳定性要求不高的应用场景,可以使用再说一遍简单方便的实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

redis队列操作命令,redis 循环队列