经典场景:消息队列
Redis列表只是字符串列表,按插入顺序排序。您可以向Redis列表的头部或尾部添加元素。
常用的方法有:lpush、rpush、lpop、rpop、blpop、brpop、lrange
BLPOP
BRPOP
BRPOPLPUSH
LINDEX
LINSERT
LLEN
LPOP
LPUSH
LPUSHX
LRANGE
LREM
LSET
LTRIM
RPOP
RPOPLPUSH
RPUSH
RPUSHX
可使用`blpop`实现消息队列,如下:
import _thread
import logging
import random
import time
import redis
client = redis.Redis(host='10.182.45.93', port=6379, db=0, decode_responses=True)
topic = 'push-and-pop'
def pop():
while True:
_resp = client.blpop(topic)
logging.info(_resp[1])
def push_and_pop():
_thread.start_new_thread(pop, ())
for i in range(0, 100):
n = random.random() * 1.5
time.sleep(n)
logging.info('No.%s: %s', i, n)
client.rpush(topic, n)
if __name__ == '__main__':
push_and_pop()