非阻塞队列RPUSH key value [value ...]
RPOP key
LPUSH key value [value ...]
LPOP key
R/LPUSH都是后进先出操作,组合起来则是先进先出,属于非阻塞操作,即:不管有无找到指定键值都立即返回。
阻塞队列RPUSH key value [value ...]
BRPOP key [key ...] timeout
LPUSH key value [value ...]
BLPOP key [key ...] timeout
出栈(POP)为阻塞操作,且须指定超时时间。
适用于等待返回值的场景。
原子操作
适用消费确认或多次消费的场景,使用如下原子操作:RPOPLPUSH source destination
BRPOPLPUSH source destination timeout
被消费的键值会被放入另一个队列,可用于确认。
RPOP LPUSH能处理左手换右手的原子性操作,从一个队列中取出键值,再放入另一个队列。
支持阻塞/非阻塞模式。
订阅/发布SUBSCRIBE channel [channel ...]
PUBLISH channel message