一、redis支持事务
具体操作如下:
pipe = r.pipeline(transaction=True) # 设置管道
r.set('name','alex')
r.set('key','888888')
pipe.execute() # 管道提交
二、发布订阅
redis实现的发布订阅功能不强大,只能对全体订阅对象发布,不能像rabbitmq一样指定具体订阅者,
其具体的实现方式如下:
# redis 发布订阅 class RedisHelper: def __init__(self): self.__conn = redis.Redis(connection_pool=pool) self.chan_sub = 'fm104.5' self.chan_pub = 'fm104.5' def public(self,msg): self.__conn.publish(self.chan_pub,msg) # 发布 return True def subscribe(self): pub = self.__conn.pubsub() # 订阅 pub.subscribe(self.chan_sub) pub.parse_response() return pub
# 发布 publish
obj = RedisHelper()
obj.public('hello')
# 订阅 subscribe
obj = RedisHelper()
redis_sub = obj.subscribe()
while True:
msg = redis_sub.parse_response()
print(msg)
浙公网安备 33010602011771号