分布式和非分布式系统中具有redis超能力的轻量级队列接口
pimpamqueues的Python项目详细描述
PIMPAMQUEUES
具有redis超级功能的轻量级队列接口
说明
pimpamqueues提供了简单、轻量级的python接口,可以与分布式系统上的队列交互。
要求
- python 2.7、3.4或3.5python.org
- 正在运行的redis服务器,redis.io
- redis python库,redis-py.readthedocs.org
功能
- 支持Python2.7、3.4和3.5。
- 提供用于创建不同类型队列的超级简单队列接口。
- 设计用于分布式系统-也适用于非分布式系统。
队列接口
- 简单的队列,只是一个普通的队列。 BucketQueue,具有极快速元素存在搜索法的唯一元素无序队列。
- 智能队列,将已排队的元素存储在队列旁边,以便不再对相同的传入元素进行排队的队列。
安装
pip
对于pip安装,只要pip install pimpamqueues
$ pip install pimpamqueues
使用量
简单化
>>> from pimpamqueues.simplequeue import SimpleQueue
>>> queue= SimpleQueue(id_args=['simplequeue'])
>>> queue.num()0
>>> queue.push('egg')1
>>> queue.push_some(['bacon', 'spam'])3
>>> queue.num()3
>>> queue.pop()
b'egg'
>>> queue.is_empty()
False
>>> queue.push('spam', to_first=True)3
>>> queue.elements()[b'spam', b'bacon', b'spam']
>>> queue.pop()
b'spam'
>>> queue.elements()[b'bacon', b'spam']
...
布基队列
>>> from pimpamqueues.bucketqueue import BucketQueue >>> queue= BucketQueue(id_args=['bucketqueue']) >>> queue.num()0 >>> queue.push('egg')'egg' >>> queue.push_some(['bacon', 'spam'])[b'bacon', b'spam'] >>> queue.num()3 >>> queue.pop() b'spam' >>> queue.is_empty() False >>> queue.push('spam')'spam' >>> queue.elements(){b'bacon', b'egg', b'spam'} >>> queue.pop() b'spam' >>> queue.elements(){b'bacon', b'egg'} ...
智能队列
>>> from pimpamqueues.smartqueue import SmartQueue >>> queue= SmartQueue(id_args=['smartqueue']) >>> queue.num()0 >>> queue.push('egg')'egg' >>> queue.push_some(['bacon', 'spam'])[b'bacon', b'spam'] >>> queue.num()3 >>> queue.pop() b'egg' >>> queue.is_empty() False >>> queue.push('spam', to_first=True)'' >>> queue.elements()[b'bacon', b'spam'] >>> queue.pop() b'bacon' >>> queue.elements()[b'spam'] >>> queue.push('spam', force=True)'spam' >>> queue.push_some(['spam', 'spam'], force=True)[b'spam', b'spam'] >>> queue.elements()[b'spam', b'spam', b'spam', b'spam'] ...
历史记录
1.0.1(2015-01-28)
- 包含了python所需的包以解决安装依赖关系。
1.0.0(2015-01-27)
- 你好,皮姆帕姆奎尔斯。